关于界面的价值观与方法论

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

29June2008

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没有这个问题。


  1. 小麦的自习教室 » IE里关于CSS的优先级的bug(三):

    [...] 根据上次的结论:在IE6里,“a:hover”的优先级比“.orange_link a”高。说起来,a:hover还真是终极霸王的感觉~哈。 [...]

  2. Neil:

    很不错,学习拉