今天稍稍看了一下IE7对css选择器的改进,出乎我的想象,竟然修复了大部分bug。
1、对伪类的支持。IE6和更低的版本对于伪类的支持仅限于a标签,诸如“:hover”、“:active”、“:focus”之类的伪类理论上是应该适用于所有元素的,但是IE6和更低版本抛弃了它们。这次IE7有选择地支持了“:hover”。
Quotes
div:hover {
background-color: #B7B7B7;
}
诸位可以试试。
2、对子选择器的支持。现在在IE7里你可以使用如下的定义:
Quotes
#block1 > h3 {
color: red;
}
3、对相邻选择器的支持。你可以指定同一父元素下的紧邻某个元素之后的元素的样式:
Quotes
* + p {
color: Blue;
}
4、对相邻选择器的扩展(?也许是bug),IE7支持“*+html”这样的通用选择器和相邻选择器的组合,注意,这里是“*+html”,很奇怪吧?FF2.0和其他浏览器是不支持这样的写法的,不过都支持“*+body”这样的。所以,对IE7的CSS HACK就可以利用*+html来写了。
5、对属性选择器的支持。支持了a[rel="nofollow"]、[class="ie7"]、a[rel~="my"]这几个属性选择器,但是还是不支持a[titile]。
选择器在平时的应用里很少用到,有一种说法是渲染会比其他的慢。不过很多选择器的效果在这之前是只能使用js来实现的,相对于js,css似乎更加有效率一些。