css:每个班级都支持:悬停状态吗?

时间:2010-11-17 12:55:59

标签: html css

如果我使用普通div的类,我可以写css如下:

.messagebc:hover {
...
}

合法吗?

8 个答案:

答案 0 :(得分:13)

使用它是无效的:将鼠标悬停在非链接元素上。

避免使用:hover伪选择器用于IE客户端的非链接元素。

  

如果您使用:悬停在非锚点上   元素,在IE7和IE8中测试页面   确保您的页面可用。如果   你发现:悬停是造成的   考虑性能问题   有条件地使用JavaScript   IE的onmouseover事件处理程序   客户端。

:将伪选择器悬停到非链接元素是一个非常低效的选择器(例如):     例如:

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

:非锚定元素上的hover伪选择器已知会使IE7和IE8在某些情况下变慢*。当不使用严格的doctype时,IE7和IE8将忽略:将鼠标悬停在除锚点之外的任何元素上。使用严格的doctype时:将鼠标悬停在非锚点上可能会导致性能下降。

More info on un-effiecient selectors

答案 1 :(得分:4)

你为什么不试试呢?是的,你可以(在所有现代浏览器中,IE6都知道:只在a上悬停,如果我没记错的话。)

答案 2 :(得分:4)

是的,您可以将:hover用于现代浏览器中的所有元素(IE7 +)。 虽然IE6仅支持:hover元素<a>,但你应该写html和css,这样你就不需要使用js-patches(例如,在list-menus中只使用{{1} }},而不是<li><a href="#">Link</a></li>并将<a><li><a>分配给link元素。这应该可以解决问题。)

答案 3 :(得分:3)

是的,但是在IE6中,您只能在ANCHOR元素上设置:hover

答案 4 :(得分:3)

只有ie6不支持<a>以外的元素,但可以使用简单的javascript修复:ie7.js

答案 5 :(得分:3)

ie6的份额是5.55%并且是 每天减少 所以你可以使用它 Wikipedia ie6

答案 6 :(得分:2)

每个当前的浏览器都支持它。如果你需要它在IE6等旧浏览器中工作,那么看看@Willem的链接。

答案 7 :(得分:0)

如果术语类是指HTML元素,那么根据W3C规范,您可以在所有元素上使用:hover选择器。你是否应该是一个不同的问题。

来源:

http://www.w3schools.com/cssref/sel_hover.asp http://www.w3.org/2009/cheatsheet/#search,%3Ahover