1

如果我写

h1:hover, li:hover {color:green;}

h1 和 li 元素都具有悬停效果。

如果我写:

*:hover {color: green;} 

这仅对锚元素有影响。

:hover 伪类是否不适用于通用选择器?

4

2 回答 2

5

它确实有效。问题是页面上的所有文本最终都会变成绿色,因为body元素也匹配,所以只要光标位于视口上的任何位置(即页面正文),您就不会看到“鼠标悬停”效果. 您可以通过不使用通用选择器(我的意思是,您为什么要这样做?)或通过指定body:hover颜色来解决此问题。

如果您仅在a元素上看到悬停效果,则您可能在a:hover某处有一种样式覆盖了您的*:hover样式,因为通用选择器没有类型选择器那么具体(也就是说,根本不具体)。但在您将光标移出视口之前,其余文本应始终为绿色,例如将光标移至浏览器镶边或远离窗口。(请注意,我在评论中链接到的小提琴中的“视口”是一个 iframe。)

于 2011-03-27T05:11:50.820 回答
0

你说的是什么浏览器?中html:hover和并body:hover证明其余元素在悬停时会相应更改,至少在 Chrome 中,我敢肯定任何其他现代浏览器。

演示:jsfiddle.net/Marcel/cTpxS

于 2011-03-27T06:40:29.347 回答