您的位置:首页 > Web前端 > CSS

IE里关于CSS的优先级的bug(二)

2009-05-05 11:51 211 查看
IE里面关于CSS优先级的bug其实挺多,所以这里还得来个第二篇。可预见的还有个第三篇,大家耐心。

这次讲的是有关链接伪元素的。CSS2.1规范里有明确的提到,类名和伪元素的个数是合并在一起计算的。换句话说,:hover的优先级,应该和如.highlight一样高。但是在IE 6里并不是这样的哦。看下面两个定义

a:hover{ /* 优先级 [0,1,1] */
color: red;
}
div.green_link a { /* 优先级 [0,1,2] */
color: green;
}

OK,注释里我已经写清楚了,“div.green_link a”的优先级比较高。但是请在IE 6里看下面的代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb18030" />
<title>IE里链接的伪类有bug</title>
<style type="text/css">
<!–
a:hover{ /* 优先级 [0,1,1] */ color: red; } div.green_link a { /* 优先级 [0,1,2] */ color: green; }–>
</style>
</head>
<body>
<div class="green_link">
<a href="http:///">把鼠标移到这个链接上.(div.green_link a)</a>
</div>
</body>
</html>

提示:您可以修改代码之后再运行

大家会发现,在IE6里面,a:hover的优先级比div.greenLink a高。并且,同样的结论在:visited和:active里面也有,但是:link却没有这个问题。另外,IE7和IE8beta1没有这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: