2011-12-20 82 views
1

实际上,我想要做的是创建一个可以使用自定义标签属性值作为其值的CSS样式。我读过关于“attr()”函数,它似乎只适用于选择器之前/之前的内容属性。基本上我想要做的东西像下面这样:在CSS样式中使用自定义标签属性值

HTML

<span fgprop="#ff0000">Some Text</span> 
<span fgprop="#00ff00">Other</span> 

CSS

span { 
    color : attr(fgprop); 
} 

另一种方法做到这一点,我现在使用它,是使用jQuery的CSS ()使用它的fgprop attr值设置每个跨度的颜色,但这看起来非常笨重,因为此方法不会自动对fgprop属性中的更改作出反应。 CSS看起来是最好的地方,因为它只是一个演示级别的转换。

有没有办法做到这一点? (现在我只瞄准webkit,所以某些-webkit特定的扩展可以用于我的用例,如果这很重要的话)。提前致谢!

+0

你试过了吗?attr(fgprop,color)'? – animuson 2011-12-20 04:04:36

+0

是的,我试过了,它也不起作用。 – cpalmer 2011-12-20 04:07:17

+1

你问的是CSS3中的一个新特性(在CSS2.1中你只能检索字符串),但是我找不到任何有关新版本是否支持任何浏览器的文档。我只能找到[Attribute References Documentation](http://www.w3.org/TR/css3-values/#attr),它解释了它的用法。可能它只是还没有被支持。 – animuson 2011-12-20 04:12:18

回答

5

是不是这种情况正是内嵌样式是:

<span style="color:#ff0000">Some Text</span> 
<span style="color:#00ff00">Other</span> 

如果你打算通过让您的样式表,为什么它过于复杂,以作为单个元素属性反正指定的颜色尽量向后引用一个fgprop属性?样式属性与生成服务器端一样容易,并且与更新客户端一样容易。