initial-value
The initial-value descriptor of the {{cssxref("@property")}} at-rule specifies the initial value for the registered CSS custom property.
It is a required descriptor unless the {{cssxref("@property/syntax", "syntax")}} descriptor value is the universal syntax (*).
If required but missing or invalid, the entire @property rule is invalid and ignored.
Syntax
/* Set initial color value */
initial-value: rebeccapurple;
/* Set initial length value */
initial-value: 16px;
Values
A value that matches the type specified in the {{cssxref("@property/syntax", "syntax")}} descriptor.
For example, if syntax is <color>, then the initial-value must be a valid {{cssxref("color")}} value.
If the value of the syntax descriptor is not the universal syntax definition, the initial-value descriptor has to be a computationally independent value. This means the value can be converted into a computed value without depending on other values, except for “global” definitions independent of CSS. For example, 10px is computationally independent—it doesn’t change when converted to a computed value. 2in is also valid, because 1in is always equivalent to 96px. However, 3em is not valid, because the value of an em is dependent on the parent’s {{cssxref("font-size")}} .
Formal definition
{{cssinfo}}
Formal syntax
{{csssyntax}}
Examples
Setting an initial value for a custom property
This example shows how to define a custom property --my-color with an initial color value of #c0ffee. This initial value will be used when the property is not inherited (inherits: false) and no other value is set on the element.
@property --my-color {
syntax: "<color>";
inherits: false;
initial-value: #c0ffee;
}
Using JavaScript {{domxref('CSS.registerProperty_static', 'CSS.registerProperty()')}} :
window.CSS.registerProperty({
name: "--my-color",
syntax: "<color>",
inherits: false,
initialValue: "#c0ffee",
});
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
- Other
{{cssxref("@property")}}descriptors:{{cssxref("@property/inherits","inherits")}}and{{cssxref("@property/syntax", "syntax")}} - CSS Properties and Values API
- CSS Painting API
- CSS Typed Object Model
- Houdini APIs