Необычное применение CSS: реализация эффекта rollover c помощью CSS
Эрик
Мейер нашел очень интересное использование псевдо-класса :hover.
Оказывается, с помощью свойства display, контекстного селектора и
:hover можно реализовать эффект rollover, когда при наведении мышкой
появляется картинка. Делается это следующим образом.
Замечание:
Эффект rollover элементарно реализуется с помощью JavaScript.
Например здесь
объясняется, как сделать прелодер и сам rollover. Код вообще
хороший, но достаточно большой.
Для
начала создаем обычную ссылку, скажем, вот такую
<A
HREF="index.php">новости</A>
Затем
берем картинку, которая должна показываться при неведении мышкой на
ссылку, заключаем ее в теги <SPAN></SPAN> и
помещаем всю эту конструкцию внутрь ссылки. Получается вот
так:
<A HREF="index.php"><SPAN><IMG
SRC="/i/css/button.gif" BORDER=0
ALT=""></SPAN>новости</A>
Сейчас
самое интересное. На элемент А и на элемент SPAN, вложенный в A,
пишем такие стили:
A
{ display: inline} A SPAN { display:
none} A:hover SPAN { display:
inline; position: absolute; left:
400px} A:hover { color: #F90 border:
0px;}
Фактически
получается вот что. В обычном состоянии содержимое элемента
SPAN внутри ссылки не отображается, что реализуется с
помощью строчки
A
SPAN { display: none}
При
наведении же, значение свойства display изменяется на
inline и содержимое элемента SPAN
позиционируется в нужное место (в нашем примере на 100 пикселей
левее ссылки)
A:hover
SPAN { display: inline; position:
absolute; left: 400px}
Вот
собственно и все!
Надо
заметить, что css-rollover работает в браузерах Netscape 6,
Mozilla 0.9.x, MSIE 5.5-6, так что на полноценную замену
JavaScript'овой не тянет. Однако не за горами то время, когда
подавляющее большинство будет пользоваться MSIE 5.5-6, так что в
принципе можно в некоторых случаях пользоваться именно CSS, а не
JavaScript. Проще и удобнее.
Автор: Михаил Дубаков
Источник: www.webmascon.com
|