2011-04-18 78 views
3

我正在写一些Modernizr扩展来检测浏览器对事物的支持,如:first-child,:CSS中的last-child。为了做到这一点,我正在应用一种风格,然后检查,看看元素是否有这种风格。什么是最好的CSS属性用于检测浏览器对选择器的支持

什么是最可靠的CSS属性用作我的测试样式?

例如颜色是一个不错的选择,如果你在#123ABC浏览器中输入可将其转换为RGB(#,#,#)

所以我在寻找一个

  • 跨浏览器支持
  • 属性
  • 将不会被浏览器

在我使用的宽度,这可能是OK的瞬间突变成不同的格式,但认为我会在这里反正检查。

+0

我完全赞成通过浏览器检测进行功能检测。但尽管我很难说,但对于IE <= v8而言,“:小孩”和“最后一个孩子”的支持只是一个问题,这不会改变。所以你的目标可以通过一个IE检测脚本来实现,对此它有几个明确定义的解决方案。我同意,尽管可以使用特征检测来更好地进行,但我认为我应该指出这一点。 :) – Spudley 2011-04-18 08:57:53

+0

也许在桌面上这是真的,但我不确定移动(我真的不知道是否有任何移动浏览器不支持第一个/最后一个孩子,但这本身就是一个很好的理由来测试它)。我也会为小孩和其他一些更加不为人知的选择者编写测试。 – wheresrhys 2011-04-18 09:29:21

回答

1

昨天我刚刚写了这个http://jsfiddle.net/laustdeleuran/3rEVe/,这正是你正在谈论的 - 它功能检测支持:最后一个孩子伪选择器。我也使用宽度作为我的风格来检查,它似乎工作得很好。

我到目前为止在Windows XP上测试了它与IE6-8中的成功; Windows 7上的IE9,Chrome 12,Safari 5,FireFox 4和Opera 11以及Mac上的Opera 11,FireFox 4,Safari 5和Chrome 12。

随意使用它,因为它如果你想。