江右东流

关于

IE7对css选择器的改进

[ IE7  CSS  选择器  前端  Coding  ]

22 Nov 2006

今天稍稍看了一下IE7对css选择器的改进,出乎我的想象,竟然修复了大部分bug。

1、对伪类的支持。IE6和更低的版本对于伪类的支持仅限于a标签,诸如“:hover”、“:active”、“:focus”之类的伪类理论上是应该适用于所有元素的,但是IE6和更低版本抛弃了它们。这次IE7有选择地支持了“:hover”。

 div:hover { background-color: #B7B7B7; }

2、对子选择器的支持。现在在IE7里你可以使用如下的定义:

 #block1 > h3 { color: red; }

3、对相邻选择器的支持。你可以指定同一父元素下的紧邻某个元素之后的元素的样式:

 * + 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似乎更加有效率一些。

nowa
2006/11/21
于北京