Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于内容的CSS规则_Css - Fatal编程技术网

基于内容的CSS规则

基于内容的CSS规则,css,Css,我想对包含特定单词的所有锚应用不同的样式。它可以在纯CSS中完成吗?如果只是CSS3就可以了。是的,CSS3中有一个:包含选择器 li:contains("special"){text-style: italic;} 在本页下面的1/2处提到了它 这太…否。:包含曾被提议,但不在CSS3选择器的当前工作草案中 您需要一些JavaScript,例如: for (var i= document.links.length; i-->0;) if (/\bSpecificWord\b/i

我想对包含特定单词的所有锚应用不同的样式。它可以在纯CSS中完成吗?如果只是CSS3就可以了。

是的,CSS3中有一个
:包含
选择器

li:contains("special"){text-style: italic;}
在本页下面的1/2处提到了它


这太…

否。
:包含曾被提议,但不在CSS3选择器的当前工作草案中

您需要一些JavaScript,例如:

for (var i= document.links.length; i-->0;)
    if (/\bSpecificWord\b/i.test(document.links[i].innerHTML)
        document.links[i].style.color= 'red';

你可以。如果您使用自定义数据属性,它可能会得到您想要的。

使用一个小型JS库。您可以轻松地将基于内容的样式应用于任何元素。它有很多选项,非常适合条件样式。

@bobince help me,我编写了以下代码:

var x = document.getElementsByTagName('TD');
for (var i= x.length; i-->0;)
    if (x[i].innerHTML=='closed')
        x[i].parentNode.style.background= '#FEE';

如果某些TD的内容是“关闭的”,则TR的背景色将被识别为浅红色。

有趣,但它仅适用于静态媒体“此选择器仅适用于静态媒体(即打印而非屏幕显示)。“啊,是的,我没有捕捉到这种细微差别。”。。我明白为什么它是有意义的,但是(也许)。感谢您发现
:contains
选择器没有加入到以后的规范中。它可以工作,我不相信!谢谢在Chrome上不起作用。这个答案在Chrome上效果很好
td[data carrier=“Verizon”]{color:#F00;}
会导致
td
单元格带有
data carrier
属性value
Verizon
赋予它们
Red
的颜色。这与为每个内容值创建单独的CSS类名相同,例如.carrier Verizon{color:Red}我真的希望他们现在已经解决了这个问题。显然,根据元素内容中的单词设置元素样式是一个极其常见的问题。我不认为通过括号符号访问节点列表是标准的。Hitch是一个死链接,它移动了吗?