:hover伪类CSS在IE7中不起作用

时间:2010-01-16 13:10:45

标签: css internet-explorer-7 internet-explorer css-selectors

我对CSS的:hover伪类有疑问。

我正在使用它

tr.lightRow:hover {
    color:red
} 

它适用于Safari和Firefox,但在IE7中不起作用。请帮帮我。

5 个答案:

答案 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不会启动到怪癖模式。”