Peraturan @property CSS

Definisi dan penggunaan

CSS @property Aturan ini digunakan untuk mendefinisikan atribut CSS pilihan langsung di tabel gaya tanpa meluncurkan apa pun JavaScript.

@property Aturan yang memiliki fungsi pemeriksaan tipe data dan batasan, dapat disetel nilai standar, dan mendefinisikan apakah atribut dapat mewarisi nilai.

Penggunaan @property Manfaatnya:

  • Pemeriksaan tipe dan batasan: Harus ditentukan tipe data atribut pilihan, seperti <number>、<color>、<length> dll. Ini dapat mencegah kesalahan dan memastikan penggunaan yang benar atribut pilihan.
  • Setelan nilai standar: Bisa disetel nilai standar untuk atribut pilihan. Ini memastikan bahwa jika nilai yang diberikan kemudian tidak sah, peramban akan menggunakan nilai pengecualian yang ditentukan.
  • Setelan perilaku pengambilan: Harus ditentukan apakah atribut pilihan dapat mewarisi nilai dari elemen induk.

Contoh: Definisi atribut pilihan

@property --my-color {
  syntax: "<color>";
  inherits: true;
  initial-value: lightgray;
}

Definisi di atas menunjukkan --my-color adalah atribut warna, ia dapat mewarisi nilai dari elemen induk, dan nilai standar adalah lightgray.

Penggunaan atribut pilihan di CSS:

body {}}
  backgound-color: var(--my-color);
}

实例

例子 1

为渐变指定两个自定义属性 - 并使用它们来动画化渐变:

@property --startColor {
  syntax: "<color>";
  initial-value: #EADEDB;
  inherits: false;
}
@property --endColor {
  syntax: "<color>";
  initial-value: #BC70A4;
  inherits: false;
}

亲自试一试

例子 2

指定两个自定义属性:一个用于项目大小,一个用于项目颜色:

@property --item-size {
  syntax: "<percentage>";
  inherits: true;
  initial-value: 50%;
}
@property --item-color {
  syntax: "<color>";
  inherits: false;
  initial-value: lightgray;
}

亲自试一试

CSS 语法

@property --propertyname {
  syntax: "<color>";
  initial-value: red;
  inherits: false;
}

属性值

描述
--propertyname 必需。自定义属性的名称。
syntax

可以是 <length>、<number>、<percentage>、<length-percentage>、<color>、<image>、<url>、<integer>、<angle>、<time>、<resolution>、<transform-function> 或 <custom-ident>,或数据类型和关键字值的列表。

+(空格分隔)和 #(逗号分隔)乘数表示期望一个值列表,例如 <color># 表示期望的语法是逗号分隔的 <color> 值列表。

竖线(|)可以为期望的语法创建“或”条件,例如 <length> | auto 接受 <length> 或 auto,而 <color># | <integer># 期望是逗号分隔的 <color> 值列表或逗号分隔的 <integer> 值列表。

initial-value 设置属性的初始值。
inherits true 或 false。控制由 @property 指定的自定义属性注册是否默认继承。

浏览器支持

数字在表格中表示首个完全支持该 @ 规则的浏览器版本。

Chrome Edge Firefox Safari Opera
85 85 128 16.4 71

Halaman berkaitan

Panduan:Peraturan @property CSS