我对CSS的:hover
伪类有疑问。
我正在使用它
tr.lightRow:hover {
color:red
}
它适用于Safari和Firefox,但在IE7中不起作用。请帮帮我。
答案 0 :(得分:5)
IE7支持:悬停,至少在标准模式下。它可能不是怪癖模式。
答案 1 :(得分:4)
IE有一个糟糕的CSS支持历史。最初只支持a
个代码:hover
。此外,您还不能使用a:hover span
来表示只有span
标记在悬停父a
时才会更改。
如果您希望在所有IE版本中使用正确的:hover
功能,则需要使用javascript和onmouseover
/ onmouseout
。
如果您使用xhtml doctype,它也有助于启用标准模式。
答案 2 :(得分:3)
IE 6仅支持链接上的:hover
伪类,但IE 7在大多数元素上都支持它。
正如大卫所说,它可能不适用于怪癖模式。原因之一是IE在怪癖模式下大部分恢复到接近IE 4的程度,允许大量IE特定功能并删除多个符合标准的功能。
如果你想在块元素上使用:hover
功能并支持回到IE 6,你可以使用一个link元素并使用CSS将它作为一个块元素。请注意,链接只能包含内联元素(例如,没有div
s),因此如果您想要链接中的块元素,您还必须使用CSS设置它:
CSS:
.hoverlink { display: block; }
.hoverlink:hover { background: #eee; }
.hoverlink .item { display: block; }
HTML:
<a href="..." class="hoverlink">
<span class="item">Line 1</span>
<span class="item">Line 2</span>
<span class="item">Line 3</span>
</a>
(您可能还想考虑使用该技术对搜索引擎的影响。如果链接只包含描述其链接内容的文本,则链接会产生更好的影响。)
答案 3 :(得分:0)
:每个元素都不支持悬停,例如它适用于<a>
,但会在<div>
afaik
答案 4 :(得分:0)
我已经碰到了几次 - 请看下面的链接..
http://www.bernzilla.com/item.php?id=762
“如果您需要支持:将鼠标悬停在所有元素而不仅仅是&lt; a&gt;标记上,请确保您使用的是严格的DOCTYPE,因此IE7不会启动到怪癖模式。”