CSS @property - syntax
The @property at rule prescribes the use of the CSS descriptor syntax, which specifies the permitted syntax for the defined property.
Possible values
Descriptor syntax accepts a string that matches the syntax specified in the guidelines. The supported syntaxes represent a subset of the CSS types that can be used individually or in various combinations.
<length> - Any <length> value that is valid.
<number> - Any <number> value that is valid.
<percentage> - Any <percentage> value that is valid.
<length-percentage> - Any <length-percentage> value that is valid.
<color> - Any <color> value that is valid.
<url> - Any <url> value that is valid.
<integer> - Any <integer> value that is valid.
<angle> - Any <angle> value that is valid.
<time> - Any <time> value that is valid.
<resolution> - Any <resolution> value that is valid.
<transform-function> - Any <transform-function> value that is valid.
<custom-ident> - Any <custom-ident> value that is valid.
<transform-list> - Any <transform-list> value that is valid.
Syntax
syntax = <string>
CSS syntax - length Value
The following code demonstrates the use of syntax descriptor:
This example uses the CSS @property at-rule to define a custom property called --box-size that accepts values that match the <length> syntax.
The <length> syntax stands for various length values in CSS, such as pixels, em units, percentages, etc.
The .box class uses this custom property to set both the width and height, which allows dynamic resizing based on the specified value.
<html>
<head>
<style>
@property --box-size {
syntax: '<length>';
inherits: false;
initial-value: 0;
}
body {
display: flex;
justify-content: center;
align-items: center;
height: 100px;
margin: 30px;
}
.box {
--box-size: 100px;
width: var(--box-size);
height: var(--box-size);
background-color: lightblue;
border: 2px solid black;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>