CSS @property กฎ

  • หน้าก่อน position
  • หน้าต่อไป quotes

การกำหนดและการใช้งาน

CSS @property กฎที่ใช้เพื่อกำหนดคุณสมบัติ CSS ที่กำหนดโดยตนในตารางสไตล์โดยไม่ต้องทำงาน JavaScript ใดๆ。

@property กฎที่มีฟีเจอร์ตรวจสอบชนิดข้อมูลและข้อจำกัด สามารถตั้งค่าค่าเริ่มต้น และกำหนดว่าคุณสมบัติสามารถสืบทอดค่าหรือไม่。

ใช้ @property ประโยชน์ของมัน:

  • ตรวจสอบชนิดข้อมูลและข้อจำกัด: ต้องระบุชนิดข้อมูลของคุณสมบัติเฉพาะ เช่น <number>、<color>、<length> และอื่น ๆ นี้ ซึ่งจะป้องกันความผิดพลาดและให้ความเชื่อมั่นในการใช้คุณสมบัติเฉพาะอย่างถูกต้อง。
  • ตั้งค่าเริ่มต้น: สามารถกำหนดค่าเริ่มต้นสำหรับคุณสมบัติเฉพาะ ซึ่งจะทำให้เมื่อมีการจัดสรรค่าที่ผิดปกติ บราวเซอร์จะใช้ค่าที่กำหนดในลูกค้าย。
  • ตั้งพฤติกรรมการสืบทอด: ต้องระบุว่าคุณสมบัติเฉพาะสามารถสืบทอดค่าจากองค์ประกอบพ่อหรือไม่。

ตัวอย่าง: กำหนดคุณสมบัติเฉพาะที่กำหนดโดยตน

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

การกำหนดดังกล่าวหมายความว่า --my-color คือคุณสมบัติสีที่สามารถสืบทอดค่าจากองค์ประกอบพ่อ และมีค่าเริ่มต้นคือ lightgray。

ใช้คุณสมบัติเฉพาะที่กำหนดโดยตนใน 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 จำเป็น ชื่อของคุณสมบัติที่กำหนดโดย @property。
syntax

สามารถเป็น <length>、<number>、<percentage>、<length-percentage>、<color>、<image>、<url>、<integer>、<angle>、<time>、<resolution>、<transform-function> หรือ <custom-ident> หรือรายชื่อค่าของประเภทข้อมูลและค่าธรรมดา。

+ (หรือหลายช่องว่าง) และ # (หลาย comma) ใช้เป็นมัฒฑาเพื่อระบุรายชื่อค่า ตัวอย่างเช่น <color># ระบุว่าภาษาที่ต้องการคือรายชื่อค่า <color> ที่แยกด้วย comma。

เส้นตรง (|) สามารถสร้างเงื่อนไข 'หรือ' สำหรับภาษาที่ต้องการ ตัวอย่างเช่น <length> | auto รับ <length> หรือ auto และ <color># | <integer># ต้องการรายชื่อค่า <color> หรือรายชื่อค่า <integer> ที่แยกด้วย comma。

initial-value ตั้งค่าค่าตั้งต้นของคุณสมบัติ。
inherits true หรือ false ควบคุมการลงทะเบียนของคุณสมบัติที่กำหนดโดย @property ว่าจะทำการสืบทอดโดยเริ่มต้นตามนิยามโดยมาตรฐาน。

การสนับสนุนบราวเซอร์

ตัวเลขในตารางนี้แสดงความสามารถที่เรียกใช้กับ @ กฎที่หนึ่งครั้งเท่านั้นของเวอร์ชั่นบราวเซอร์ที่สนับสนุนอย่างเต็มที่。

Chrome Edge Firefox Safari Opera
85 85 128 16.4 71

หน้าที่เกี่ยวข้อง

ตัวอย่าง:CSS @property กฎ

  • หน้าก่อน position
  • หน้าต่อไป quotes