2015-06-17 3 views
0

я в настоящее время эффект парения, написанный на CSS:Удалить нежелательный эффект парения

h2:hover{ 
    background-color: #FFE4B5; 
    border-bottom: 1px solid #888; 
    border-top: 1px solid #888; 
    cursor: pointer; 
} 

Но я заметил, что когда я зависать каждый из вариантов меню, текст будет двигаться немного вверх, а затем вниз. Я не добавил ничего, что могло бы вызвать это? Я не думаю .. Как я могу исправить это и заставить их оставаться на месте, когда они парят?

JSfiddle here

+0

А также контратип http://stackoverflow.com/questions/9612758/add-a -css-border-on-hover-without-moving-the-element и множество других. – j08691

ответ

3

Это граница, которая добавляется и удаляется, что вызывает эту проблему.

Два варианта: добавьте box-sizing: border-box к элементу или добавьте прозрачные границы для не зависающих элементов.

Пример коробчатого проклейки:

h2 { 
    box-sizing: border-box; 
} 

Пример границы:

h2 { 
    border-top: transparent 1px solid; 
    border-bottom: transparent 1px solid; 
} 
+0

border-sizing, похоже, не работает, но прозрачная рамка работала. Благодаря! – PhoonOne

+0

@JennyC - Если это помогло решить ваш вопрос, обязательно отметьте его как ответ. Благодаря! –

2

Движение идет от границы добавляемого и удаляется при наведении курсора мыши. Легко исправить, чтобы дать элементу h2 прозрачную границу те же ширины, когда он не колебались:

h2{ 
    border-bottom: 1px solid transparent; 
    border-top: 1px solid transparent; 
} 
Смежные вопросы