2015-03-05 3 views
2

Я сделал jsfiddle, и, как вы можете видеть, когда вы наводите div, текст перескакивает на 1 пиксель влево. Насколько я могу сказать, это связано с границей, но я не уверен, что делать, чтобы исправить это. Есть идеи?текст прыгает 1 пиксель влево после наведения

Вот мой код:

#weather { 
position: fixed; 
top:10px; 
right:35px; 
transition: 0.5s ease; 
cursor: pointer; 
padding: 5px; 
opacity:0.7; 
} 

#weather:hover { 
opacity: 1; 
border-left:1px solid #333; 
border-right:1px solid #333; 
} 

ответ

3

CSS:

#weather { 
    position: fixed; 
    top:10px; 
    right:35px; 
    transition: 0.5s ease; 
    cursor: pointer; 
    padding: 5px; 
    border-left:1px solid transparent; 
    border-right:1px solid transparent; 
} 

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

JSFiddle

+0

Я полагаю, что работает. Это обычный способ решения этой проблемы? – Jamie

+0

1px solid ** transparent ** - хороший выбор +1 – gibberish

+0

@Jamie Ставка. Лучшее решение. – gibberish

0

Это вызвано добавлением 1px границы к CSS. Чтобы решить проблему, добавьте 1px белые границы, чтобы начать - или, я только заметил, что у Kawinesh есть лучшее решение - используйте прозрачный прозрачный 1px. +1 к Кавинешу.

#weather { 
    position: fixed; 
    top:10px; 
    right:35px; 
    transition: 0.5s ease; 
    cursor: pointer; 
    padding: 5px; 
    border-left:1px solid white; 
    border-right:1px solid white; 
} 

jsFiddle Demo