CSS :hover
не работает в IE6 на элементы, которые не являются ссылками. Существует ли обходное решение? например, как я подаю заявку :hover
к a div
?
Там что угодно: hover . Сам никогда не пользовался, но, судя по тому, что слышал, работает хорошо.
Whatever: hover - это небольшой скрипт, который автоматически исправляет: hover,: active и: focus для причуд IE6, IE7 и IE8, позволяя вам использовать их, как в любом другом браузере. Версия 3 представляет поддержку ajax, что означает, что любой html, который вставляется в документ с помощью javascript, также будет запускать стили: hover,: active и: focus в IE.
Suckerfish против .htc
В синем углу у нас есть Suckerfish, оригинальный легкий, доступный, кроссбраузерный, совместимый со стандартами :hover mimic. В красном углу - '.htc'. файлы JavaScript, доступ к которым осуществляется через CSS для имитации :hover.
Динь-динь!
И Suckerfish мгновенно наносит сильный удар по валидности .htc - .htc просто не соответствует стандартам CSS.
Оооо... .htc наносит коварный удар. без необходимости использования дополнительных селекторов...
Suckerfish прыгает по рингу. Его вес намного меньше, чем у его оппонента.
И О! Апперкот IE 5.0! Это то, что .htc просто не имеет навыков, в то время как Suckerfish может работать с IE 5.0 без проблем.
.htc ошеломлен! И соревнование закончен! Suckerfish побеждает по очкам! TKO!
IE7.js
, как предложил @BoldewynНет чистого и валидного CSS решения для этого в IE6.
Одно Не валидное решение CSS выражения доступно. но я бы не советовал использовать его потому что оно медленное
Решение: http://www.visibilityinherit.com/code/ie6-hover-expression.php
Вы можете использовать знаменитый IE7.js от Дина Эдвардса, у которого есть приятное преимущество, заключающееся в том, что вы можете использовать : hover
селектор в вашем CSS.
Кроме того, я сомневаюсь, что этого можно добиться только с помощью CSS. IE может обрабатывать JS в файлах CSS с помощью expression ()
, но вы не можете найти выражение для обработки зависания без селектора, обрабатывающего зависание, если вы уловили мое отклонение.
Затем, наконец, короткое решение jQuery:
$(document).ready(function () {
$('div').hover(function () {
$(this).addClass('hover');
}, function () {
$(this).removeClass('hover');
});
});
Затем вы можете использовать это в своей таблице стилей:
div:hover, div.hover { ... }
suckerfish и его потомство также предоставляют отличные легкие альтернативы для этой цели.