CSS中带antd前缀的自定义属性为何能被Chrome识别?
为什么Chrome能识别Ant Design的自定义CSS属性?
你看到的--antd-arrow-background-color: none;并不是非标准的CSS属性,而是CSS自定义属性(常称CSS变量),这是W3C已标准化的特性,所有现代浏览器(包括Chrome)都原生支持。
核心原因如下:
- CSS自定义属性的语法规则就是以
--开头,不管后面跟着什么前缀(比如这里的antd-),浏览器都会将其视为合法的自定义属性,负责存储它的值,不需要预先“认识”这个属性名。 - Ant Design这类组件库会大量使用自定义属性实现主题定制、样式复用,组件内部的样式会通过
var(--antd-arrow-background-color)这样的语法引用变量的值,浏览器解析样式时会自动将变量替换为对应取值。 - 你之前的误解混淆了“标准CSS属性”和“CSS自定义属性”:前者是浏览器内置、有特定渲染逻辑的属性(比如
color、background),后者是用户自定义、用于存储值的容器,属于CSS标准的一部分,和厂商前缀没有关系。
简单来说,Chrome不是“识别”了antd前缀,而是遵循CSS标准,正确处理了以--开头的自定义属性。
内容的提问来源于stack exchange,提问作者Gleb Krylov
相关产品推荐
相关产品推荐

