The CSS Properties and Values API — part of the CSS Houdini umbrella of APIs — allows developers to explicitly define their CSS custom properties
, allowing for property type checking, default values, and properties that do or do not inherit their value.
The following uses CSS.registerProperty
in JavaScript to type a CSS custom properties
, --my-color
, as a color, give it a default value, and not allow it to inherit its value:
window.CSS.registerProperty({
name: "--my-color",
syntax: "<color>",
inherits: false,
initialValue: "#c0ffee",
});
The same registration can take place in CSS using the @property
at-rule:
@property --my-color {
syntax: "<color>";
inherits: false;
initial-value: #c0ffee;
}