好的,所以这更像是一个有许多不是CSS的解决方案的问题,但我正在寻求从理论的角度来做更多的事情。我有一个应用程序,但不值得以任何其他方式编写它。
如何使用元素的文本为元素的文本着色?我有一个元素,它都是自己的,它将包含一个颜色的十六进制值,我希望文本是那种颜色,但我想只使用CSS(可能只能使用CSS 3)。
<div class="color_contents">#0000FF</div>
所以,我尝试使用attr()
但没有成功,但我不确定我是否使用了正确的内容(我已尝试text
,textContent
,innerText
无济于事。不需要跨浏览器,只是一种完成它的方法。
答案 0 :(得分:3)
目前,没有办法使用CSS来访问元素的文本内容,即使使用今天的CSS3模块也是如此。
关于这个:
所以,我尝试使用
attr()
但没有成功,但我不确定我是否使用了正确的内容(我已尝试text
,textContent
,innerText
无济于事。不需要跨浏览器,只是一种完成它的方法。
attr()
仅查看元素属性(foo="bar"
)。由于文本内容不是HTML元素的属性(尽管是相应DOM对象的成员),因此无法使用该函数进行查询。
访问元素的文本内容没有类似的功能。
答案 1 :(得分:2)
你可以这样做。它有点hacky,但所有的CSS
div.color_0000FF:before{
color:#0000FF;
content: "#0000FF";
}
HTML
<div class="color_0000FF"></div>
答案 2 :(得分:1)
content / attr CSS属性只能与:before
和:after
伪元素一起使用。
CSS3将支持attr
访问其他媒体资源,请参阅https://developer.mozilla.org/en/CSS/attr。
但是当/如果CSS3 attr上线,你仍然无法从CSS访问元素的“内容”,因为那不是CSS的设计目的。
底线,使用javascript:)