CSS2选择器不适用于IE8

Seb*_*ins 3 css css-selectors internet-explorer-8

有谁知道为什么下面的CSS代码不能在IE8上工作,但它还在使用其他浏览器?

table.wrap tr:first-child td, table.wrap tr:last-child td { height:20px; }
table.wrap td:first-child, table.wrap td:last-child { width: 20px; }
Run Code Online (Sandbox Code Playgroud)

据我所知,IE8不支持CSS3功能.但我不认为我在这里使用CSS3.

我真诚地感谢你的帮助.

非常感谢!

Spu*_*ley 5

有关所有各种浏览器中所有CSS功能的完整兼容性图表,请参阅Quirksmode.org.

正如您从上面的链接中看到的,IE8不支持该last-child功能.

它确实支持first-child,但是因为你把它们放在同一个选择器中,所以它会抛弃整个东西,因为它不能识别该last-child部分.

另请注意,Quirksmode first-child在IE8中是错误的,因此即使支持它,您也可能需要小心使用它.

要解决这个问题,您可能需要尝试使用IE浏览器来支持额外的CSS功能.

看起来相当不错的是Selectivizr.您可能还需要寻找到院长爱德华兹的ie7.js/ie8.js/ie9.js.这两个目的都是为了将​​缺失的功能修补到旧版本的IE中.它们并不完美,但它们可能会为您解决问题.

希望有所帮助.