如何基于内容应用 CSS 规则
将特定样式应用于包含特定单词或内容的元素是常见的要求短语。虽然现代 CSS 具有高级功能,但有一个特定方面它无法直接处理。
CSS3 可以基于内容设置元素样式吗?
简单的答案是否定的。 CSS3 不包含允许您根据内容设置元素样式的本机选择器。提议的 :contains 选择器将启用此功能,已从 CSS3 选择器的当前工作草案中删除。
替代解决方案
实现基于内容的样式,您可以使用 JavaScript。以下代码片段演示了如何将红色应用于包含单词“SpecificWord”的锚点:
Array.from(document.links).forEach(link => { if (/\bSpecificWord\b/i.test(link.innerHTML)) { link.style.color = 'red'; } });
此 JavaScript 代码迭代所有锚点元素 (document.links),检查其 innerHTML 是否包含所需的内容word,如果为 true,则应用红色。
总之,虽然 CSS 本身不支持基于内容的样式,但您可以使用 JavaScript 来实现类似的结果。这允许您为满足特定内容要求的元素创建细粒度的样式规则。
以上是CSS3 可以根据内容设置元素样式吗?的详细内容。更多信息请关注PHP中文网其他相关文章!