Я настраиваю навигационные ссылки, и когда я нахожу ссылку на ссылку, она меняет цвет, но он перемещает несколько пикселей с правой стороны и снова становится нормальным, когда курсор удаляется от зависания.
Мой навигационный CSS
.logo-wrapper {
padding-bottom: 85px;
background-color: #2e3639;
}
.logo-items{
display: inline-block;
position: relative;
color: white;
font: "Times New Roman";
float: left;
margin-left: 500px;
margin-top: 30px;
text-decoration: none;
}
.logo-items a{
text-decoration: none;
color: white;
margin-left: 10px;
margin-right: 10px;
border-bottom:solid 1px transparent;
}
.logo-items a:hover {
background-color: #61696c;
padding: 4px 4px 4px 4px;
border-radius: 10px;
}
.logo-items span {
margin-right: 10px;
}
Моя навигационная система
<div class="logo-wrapper">
<div class="logo-items">
<span>Logo</span>
<span>
<%= link_to "Tags", tags_path %>
</span>
<span>Pages</span>
</div>
</div>
Эй, вы получаете это, потому что вы добавили дополнение к вашему: hover, чтобы получить серый эффект фона.
.logo-items a:hover {
background-color: #61696c;
padding: 4px 4px 4px 4px;
border-radius: 10px;
}
Быстрый способ остановить прыжок - это добавить дополнение к вашей ссылке в первую очередь, так что ширина всегда одинакова
.logo-items a{
text-decoration: none;
color: white;
margin-left: 10px;
margin-right: 10px;
border-bottom:solid 1px transparent;
padding:4px;
}
Здесь я добавил скрипку http://jsfiddle.net/domjgreen/uNKm8/
Попробуйте сделать это: -
Добавить " padding: 4px 4px 4px 4px;
" in " .logo-items a{
" тоже... Пожалуйста, просмотрите обновленный код: -
.logo-items a {
text-decoration: none;
color: white;
margin-left: 10px;
margin-right: 10px;
border-bottom:solid 1px transparent;
padding: 4px 4px 4px 4px;
}
Обратитесь к скрипту: - http://jsfiddle.net/eETN8/
Надеюсь это поможет!
Либо удалите padding
на .logo-items a:hover
или добавить те же padding
для .logo-items a
.
padding: 4px 4px 4px 4px
- сокращение CSS для установки 4px padding (пробел между краем элемента и его содержимым), но оно применяется только к состоянию hover, так что это вызывает движение нескольких пикселей, о которых вы говорите,
Кроме того, padding: 4px 4px 4px 4px;
может быть сокращено до padding: 4px;
поскольку они - одно и то же. Я предполагаю, что вы добавили отступы, чтобы изменить цвет фона при наведении, выглядите лучше, поэтому просто добавьте padding: 4px
в .logo-items a
и вы хорошо пойдете!
Это проблема с границей, вам нужно будет предоставить границу для вашего до наведения, чтобы избежать движения пикселей
padding
для ваших.logo-items a:hover
selector. Вы хотели поставить это на селектор без:hover
?padding: 4px;
(достаточно только одного значения, потому что все значения одинаковы) для.logo-items a
.