2010-11-17 3 views
9

Если я использую класс для нормального DIV, я могу написать CSS, как:css: поддерживает ли каждый класс: зависает состояние?

.messagebc:hover { 
... 
} 

Законно ли это?

+0

Важно отметить, что очень немногие крупные сайты до сих пор поддерживают IE 6. Я бы не выйти из своего пути, чтобы убедиться, что вы получите зеркальную функциональность с ним. – Webnet

ответ

13

Это ineffiecient использовать: парить на элементах без ссылок.

Избегайте псевдо-селектора hover для элементов без ссылки для клиентов IE.

Если вы используете: наведите на не-якоре элементов, проверить страницу в IE7 и IE8 , чтобы убедиться, что Ваша страница годная к употреблению. Если вы обнаружите, что: hover вызывает проблемы с производительностью, рассмотрите условно с помощью JavaScript обработчик события onmouseover для IE клиентов.

: парить псевдо-селектор элементов без ссылок является очень ineffiecient селектор (например): Например:

h3:hover {...} 
.foo:hover {...} 
#foo:hover {...} 
div.faa :hover {...} 

The: парить псевдо-селектор на не анкерных элементов, как известно сделать IE7 и IE8 медленными в некоторых случаях *. Когда строгий doctype не используется, IE7 и IE8 будут игнорировать: наведите указатель на любой элемент, отличный от якорей. При использовании строгого типа doctype: зависание на не-якорях может привести к ухудшению производительности.

More info on un-effiecient selectors

3

Да, однако в IE6 вы можете установить :hover только на элементы ANCHOR.

4

Почему вы просто не попробовали? да, вы можете (во всех современных браузерах IE6 знает: наведите указатель только на a, если я правильно помню).

+0

Вы правильно помните. Таким образом, вопрос больше: поддерживают ли все элементы: зависают? – Baju

3

только IE6 не поддерживает его на других, чем <a> элементов, но которые могут быть исправлены с помощью простой JavaScript: ie7.js

4

Да, вы можете использовать :hover для всех элементов в современных браузерах (IE7 +). Хотя IE6 поддержка :hover только для <a> элементов, вы должны написать вам HTML и CSS так, что вам не нужно будет использовать JS-патчи (например, в списке-меню просто использовать <li><a href="#">Link</a></li>, не <a><li><a> и назначить :hover по ссылке Это должно сделать трюк.)

2

Каждый текущий браузер будет поддерживать его. Если вам нужно, чтобы он работал в более старом браузере, таком как IE6, взгляните на ссылку @ Willem.

3

Доля IE6 составляет 5,55% и уменьшается каждый день Так что вы можете использовать его Wikipedia ie6