CSS:hover для любого элемента в IE6 и ниже
Клепал тут меню для сайта на CSS. но т.к. в нем применяется псевдо-класс :hover, то нарисовалась маленькая проблема. дело в том, что в IE6 и ниже :hover поддерживается только для ссылок, но совершенно не работают с любыми другими элементами. А мне для меню необходимо было, чтоб :hover работал с рисунками.
Для себя я решил это нижеприведенным способом, может, кому пригодится также.
Существует так называемый whatever:hover способ, который дает возможность применять селектор :hover в IE6 и ниже. последняя версия 1.00.031224. примеры работы можно посмотреть там же, по ссылке выше.
Для того, чтобы заставить IE распознавать селектор :hover с любым элементом CSS, надо просто скачать .htc файл (whatever:hover), кинуть в папку с каскадными таблицами и подключить его вот таким вот образом через CSS файл:
body { behavior:url("csshover.htc"); }
файл csshover.htc должен находится в одной директории с CSS файлом. если его кинуть в другую директорию, то нужно прописать правильный путь.
В принципе, все готово.
P.S. при таком способе есть маленькая накладочка: во время проверки правильности написания кода, W3C CSS валидатор выдает ошибку, так как используется behavior, что не допускается правилами. кому важно, соответствие кода веб-стандартам, эту неприятность можно обойти следующим способом:
файл .htc для использования :hover предназначен только для IE. поэтому, его можно просто закомментировать спецкомментариями (conditional comments), благодаря которым, документ станет валидным. Но в этом случае все должно находится не в CSS файле, а между самого HTML документа:
<!--[if IE]> <style type="text/css"> BODY { behavior:url("structure/csshover.htc"); } </style> <![endif]-->
Автор: Fillosoff с 4dle.ru
Css Дизайнер (designer)