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.
CSS.registerPropertyDefines how a browser should parse CSS custom properties. Access this interface through CSS.registerProperty in JavaScript.
@propertyDefines how a browser should parse CSS custom properties. Access this interface through @property at-rule in CSS.
The following will register a custom property named --my-color using CSS.registerProperty in JavaScript. --my-color will use the CSS color syntax, it will have a default value of #c0ffee, and it will not 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;
}
| Specification |
|---|
| CSS Properties and Values API Level 1> # the-css-property-rule-interface> |
| CSS Properties and Values API Level 1> # the-registerproperty-function> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
CSS_Properties_and_Values_API |
85 | 85 | 128 | 71 | 16.4 | 85 | 128 | 60 | 16.4 | 14.0 | 85 | 16.4 |
inherits |
85 | 85 | 128 | 71 | 16.4 | 85 | 128 | 60 | 16.4 | 14.0 | 85 | 16.4 |
initialValue |
85 | 85 | 128 | 71 | 16.4 | 85 | 128 | 60 | 16.4 | 14.0 | 85 | 16.4 |
name |
85 | 85 | 128 | 71 | 16.4 | 85 | 128 | 60 | 16.4 | 14.0 | 85 | 16.4 |
syntax |
85 | 85 | 128 | 71 | 16.4 | 85 | 128 | 60 | 16.4 | 14.0 | 85 | 16.4 |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
CSS_Properties_and_Values_API |
78 | 79 | 128 | 65 | 16.4 | 78 | 128 | 56 | 16.4 | 12.0 | 78 | 16.4 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/CSS_Properties_and_Values_API