Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

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

Posted on 2009-01-14 14:04  analyzer  阅读(184)  评论(0)    收藏  举报

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里看下面的代码:


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

大家会发现,在IE6里面,a:hover的优先级比div.greenLink a高。并且,同样的结论在:visited和:active里面也有,但是:link却没有这个问题。另外,IE7和IE8beta1没有这个问题。