基于内容的CSS规则

Tam*_*lei 35 css css3

我想对包含特定单词的所有锚应用不同的样式.它可以在纯CSS中完成吗?如果它只是CSS3,那没关系.

bob*_*nce 33

号码:contains曾经提出但不在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';
Run Code Online (Sandbox Code Playgroud)

  • 我真的希望他们现在已经解决了这个问题。很明显,通过元素内容中的词来设置元素的样式是一个非常普遍的问题。 (2认同)

Div*_*ian 17

您可以匹配属性值.如果您使用自定义数据属性,它可能会得到您想要的.

  • 这个答案在 chrome 中工作得很好。`td[data-carrier="Verizon"] { color: #F00; }` 结果在`td` 单元格中,`data-carrier` 属性值为`Verizon`,赋予它们`Red` 的颜色。 (2认同)

Sco*_*den 6

是的:contains,CSS3中有一个选择器.

li:contains("special"){text-style: italic;}
Run Code Online (Sandbox Code Playgroud)

它提到的关于1/2降本页面在这里

这也是你也可以用jQuery做的事情 ......

  • 有意思,但它仅适用于静态媒体"此选择器仅适用于静态媒体(即打印而非屏幕显示)." (8认同)
  • `:contains` 选择器没有进入到后来的规范中。 (2认同)
  • 不适用于 Chrome。 (2认同)