You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写只要属性存在、匹配任意属性值的CSS选择器?

CSS属性存在匹配方案

存在可以匹配指定属性存在、无论取值是什么的CSS选择器,语法为[属性名],属于CSS标准属性选择器的一种。

你尝试的:lang(*)写法无法生效,是因为:lang()伪类的入参要求为合法的语言标签,不支持通配符*来匹配所有携带lang属性的场景。

你的需求可以通过调整选择器写法实现,正确代码如下:

/* 未设置lang属性时的默认样式 */
html {
    background: white;
}

/* 匹配所有携带lang属性的html元素,优先级高于标签选择器,覆盖默认白色 */
html[lang] {
    background: green;
}

/* 匹配lang属性为en-US的场景,同优先级下书写顺序靠后,覆盖上面的绿色 */
html:lang(en-US) {
    background: red;
}

补充说明:

  • [lang]选择器会命中所有带lang属性的元素,哪怕属性值为空也会匹配,如需排除空值场景,可调整为html[lang]:not([lang=""])
  • 如果你需要严格匹配元素自身设置的lang属性,而非继承自父元素的lang属性,[属性名]的写法比:lang()伪类更精准

内容的提问来源于stack exchange,提问作者montrealist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 01:45:03