в порядке,
Поэтому у меня есть кнопка "3d" в css с: переходом на hover.
Здесь html
<nav>
<ul class="hmenu">
<li><a href="">Home</a></li>
<li><a href="">Item 1</a></li>
<li><a href="">Item 2</a></li>
<li><a href="">Item 3</a></li>
</ul>
</nav>
И здесь css
ul.hmenu {
margin-top: 9%;
z-index: 50;
width: 75%;
list-style: none;
}
ul.hmenu li {
float: left;
margin-left: 5%;
}
ul.hmenu li a:before {
content: "\2022\00a0";
color: #f00;
transition: color 1s ease;
}
ul.hmenu li a {
background: #333;
color: #fff;
display: block;
font: normal 100 1.5em Helvetica, sans;
padding: .5em;
box-shadow: 5px 5px 0 0 #f00;
transition: background-color 1s ease;
text-decoration: none;
}
ul.hmenu li a:hover, ul.hmenu li a:active {
background-color: #f00;
box-shadow: none;
transform: translate(5px, 5px);
}
ul.hmenu li a:hover:before, ul.hmenu li a:active:before {
color: #fff;
content: "\203A\00a0";
}
И вот JSFIDDLE: http://jsfiddle.net/etb6F/
Мой вопрос: как я могу предотвратить перемещение кнопок влево, когда включено: наведите указатель мыши? Я хочу, чтобы они сохранили свою позицию, просто чтобы "надавить", но не двигаться влево.
При преобразовании вы также должны поддерживать фиксированную ширину и высоту li
чтобы другие кнопки не были затронуты.
ДЕМО: http://jsfiddle.net/etb6F/3/
Точная скрипка: http://jsfiddle.net/etb6F/4/
replace: transform: translate(5px, 5px);
с: margin:5px -5px -5px 5px;
В строке 30: в разделе ul.hmenu li a:hover, ul.hmenu li a:active {}
удалите первый экземпляр 5px. Вы должны использовать это:
ul.hmenu li a:hover, ul.hmenu li a:active {
background-color: #f00;
box-shadow: none;
transform: translate(0, 5px);
}
Первое число в translate(X,Y)
перемещает его вдоль оси X, а второе число (Y) перемещает его вдоль оси Y.