CSS 属性和值 API

CSS 属性与值 API 模块定义了一种注册新 CSS 属性的方法,可以定义属性的数据类型、继承行为以及可选的初始值。此 API 扩展了用于层叠变量的 CSS 自定义属性模块,该模块允许作者使用双破折号语法(--在 CSS 中定义自定义属性。CSS 属性与值 API 是CSS Houdini API 家族的一部分。

自定义属性允许你在整个项目中重用值,以简化复杂或重复的样式表。基本的自定义属性在用于层叠变量的 CSS 自定义属性模块中定义。CSS 属性与值 API 扩展了该模块,可以通过 CSS 中的@property at-rule,或者通过 JavaScript 的CSS.registerProperty 方法,为自定义属性添加元数据。

无论是在 CSS 还是 JavaScript 中注册,为自定义属性设置元数据都提供了一个预期的、浏览器可以根据上下文使用的,定义了初始值,并允许你控制继承的数据类型。

CSS 属性与值 API 的自定义属性注册比更基本的 CSS 层叠变量自定义属性声明更健壮,尤其是在过渡和动画值方面,因为浏览器可以内插此类自定义值,而使用双破折号语法(--的属性更像字符串替换。

属性与值 API 实战

要查看如何通过 API 使用自定义属性和值,请将鼠标悬停在下面的框上。

此框有一个背景,由从--stop-color(自定义属性)到lavenderblush线性渐变组成。--stop-color 的值最初设置为cornflowerblue,但是当你将鼠标悬停在框上时,--stop-color会在两秒内过渡aquamarinelinear-gradient(to right, aquamarine, lavenderblush))。

参考

@ 规则

接口和 API

指南

使用 CSS 属性与值 API

解释如何在 CSS 和 JavaScript 中注册自定义属性,并提供处理未定义和无效值、回退和继承的提示。

CSS Houdini

Houdini 资源参考指南,包括 CSS 模块、API 指南和外部资源。

Houdini APIs

解释 CSS Houdini 是什么及其优点,以及可用 API 及其状态列表。

规范

规范
CSS 属性和值 API Level 1

另见