基于内容的CSS规则
我想对包含特定单词的所有锚应用不同的样式。它可以在纯CSS中完成吗?如果只是CSS3就可以了。是的,CSS3中有一个基于内容的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
:包含选择器
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
属性valueVerizon
赋予它们Red
的颜色。这与为每个内容值创建单独的CSS类名相同,例如.carrier Verizon{color:Red}我真的希望他们现在已经解决了这个问题。显然,根据元素内容中的单词设置元素样式是一个极其常见的问题。我不认为通过括号符号访问节点列表是标准的。Hitch是一个死链接,它移动了吗?