CSS attr函数的正确用法是什么?

And*_*y E 13 css internet-explorer-8

由于这个函数是在IE8中实现的,我想知道我能用它做些什么,但是我无法让它在除了:之前和之后的任何地方工作:在css伪元素之后.是否应该允许以下内容?

span[color] { color: attr(color); }
Run Code Online (Sandbox Code Playgroud)

我也在谷歌浏览器中尝试过它,但它没有用.另外,更有活力的事情如下:

input[value=attr(default)] { color: gray; }
Run Code Online (Sandbox Code Playgroud)

Joe*_*oey 17

在CSS 2.1中(这些天应该使用的)attr函数在它可以做的事情上有点受限.它可以出现的唯一位置是:在之前和之后内容属性:伪元素.所以它的唯一目的是生成内容.

在CSS 3中,这有点改变,因为attr()可能返回除了字符串之外的其他类型,并且它也可以用于其他属性.

但请记住,大多数CSS 3 仍然是一个工作草案,很少有功能(不包括值和单位)作为候选推荐.用户代理对CSS 3功能的支持目前在有限和不存在之间变化.大多数浏览器供应商似乎通过实现像圆形边框,文本阴影等"酷炫的东西"来对抗无聊,这并不代表支持它的太多工作.但是你在这里看到的肯定超出了这一点,WD状态在不久的将来不会改变.所以不要指望它可以在任何地方实施.

  • @Joey,在我就attr()的类似问题打开我自己的问题之前,你知道在过去的3年中是否有任何关于浏览器支持attr()的其他属性如_width_? (2认同)