由于这个函数是在IE8中实现的,我想知道我能用它做些什么,但是我无法在除了:之前和之后的任何地方使用css伪元素。是否应该允许以下内容?
span[color] { color: attr(color); }
我也在谷歌浏览器中尝试过,但它没有用。另外,更有活力的事情如下:
input[value=attr(default)] { color: gray; }
答案 0 :(得分:17)
在CSS 2.1(这些天应该使用的内容)中,attr功能在它可以做的事情上有点受限。它出现的唯一位置是content上的:before and :after pseudo-elements属性。所以它的唯一目的是生成 content 。
在CSS 3中changed a bit,其中attr()可以返回除了字符串以外的其他类型,也可以用于其他属性。
但请记住,大多数CSS is still a Working Draft功能很少(不包括值和单位)是候选推荐。用户代理对CSS 3功能的支持目前在有限和不存在之间变化。大多数浏览器供应商似乎通过实现像圆形边框,文本阴影等“酷炫的东西”来对抗无聊,这并不代表支持它的太多工作。但是你在这里看到的肯定超出了这一点,WD状态在不久的将来不会改变。所以不要指望它可以在任何地方实施。
答案 1 :(得分:-1)
只需使用
span.red {}
对于任何不同的颜色,我认为你不需要所有组合:)
或者只是使用
span[color="red"] {}