检测浏览器对选择器支持的最佳CSS属性是什么?

3
我正在编写一些Modernizr扩展,以检测CSS中:first-child、:last-child等的浏览器支持情况。为了做到这一点,我先应用一个样式,然后检查元素是否具有该样式。
在我的测试样式中,哪个CSS属性是最可靠的?
例如,颜色是不好的选择,因为如果您输入#123abc,浏览器可能会将其转换为rgb(#,#,#)。
因此,我正在寻找一个属性:
  • 在各种浏览器上都受支持
  • 不会被浏览器改变其格式
  • 目前,我正在使用宽度,这可能还可以,但我想在这里进行确认。

    我完全支持使用特性检测而非浏览器检测。但是,尽管这让我很痛心,:first-child:last-child的支持仅在IE <=v8中存在问题,而这不会改变。因此,您可以通过IE检测脚本来实现目标,有几种明确定义的解决方案可供选择。虽然我同意使用特性检测会更好,但我认为我应该指出这一点。 :) - Spudley
    或许在桌面端这是正确的,但我不确定移动端是否也是如此(实际上我并不知道有没有任何移动浏览器不支持第一个/最后一个子元素选择器,但这本身就是测试它的好理由)。我还会编写nth-child和其他一些更普遍未知的选择器的测试。 - wheresrhys
    1个回答

    1

    我昨天刚写了这个http://jsfiddle.net/laustdeleuran/3rEVe/,它正好做你所说的事情——特征检测支持:last-child伪选择器。我还使用宽度作为我的样式来检查,看起来效果很好。

    到目前为止,我已经在Windows XP的IE6-8、IE9、Chrome 12、Safari 5、FireFox 4和Opera 11上测试成功,在Mac上也测试了Opera 11、FireFox 4、Safari 5和Chrome 12。

    如果你想用的话,随意使用它。


    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接