2013-03-27 75 views
3

我一直在为Modernizr测试寻找像attr()这样的CSS函数,但我找不到任何东西。有没有办法测试这些功能?是否可以使用Modernizr检测对attr()或url()等CSS3函数的支持?

+0

你的意思是CSS *选择器*像'attr',而不是函数? – Spudley 2013-03-27 15:15:51

+0

对于它的价值,唯一没有'attr'选择器的浏览器今天可能会遇到IE6。即使IE7支持它。鉴于此,如果你想使用'attr',你完全可以根本不支持IE6。 – Spudley 2013-03-27 15:23:36

+0

要添加到Spudley的评论,这里有一个链接到我最喜欢的网站之一,用CSS选择器(和更多)兼容性表格:http://www.quirksmode.org/css/index.html。我意识到这与Modernizr无关,但可能有所帮助。此外,编写自己的JavaScript测试attr选择器应该不会太困难,这与您希望Modernizr执行的操作类似。 – Sean 2013-03-28 12:43:40

回答

1

CSS函数在使用上有很大差异,并且被视为值而不是属性或选择器,所以没有针对它们的通用Modernizr测试。然而,it does provide feature detection for some specific functions

  • RGBAHSLA色度值:Modernizr.rgbaModernizr.hsla

  • GradientsModernizr.cssgradients

  • TransformsModernizr.csstransforms用于2D变换和Modernizr.csstransforms3d为3D变换

Modernizr不提供url()的功能检测功能,因为它已经存在并且每个浏览器都完全支持它。

它也没有为attr()提供特征检测,但对于它的价值,每一个做浏览器实现attr()(IE8 +等浏览器)只实现了它作为CSS2.1定义。截至2013年,Values and Units level 3中定义的版本不存在实施。

注意CSS2.1 attr()仅与content属性上:before:after伪元素,其Modernizr的确实提供特征检测为在Modernizr.generatedcontent形式使用。

相关问题