قانون @property CSS
تعریف و استفاده
CSS @property
قوانین برای تعریف مستقیم مقادیر اختصاصی CSS در جدول استایلها بدون نیاز به اجرای هیچ کد JavaScript استفاده میشوند.
@property
قوانین دارای قابلیتهای بررسی نوع داده و محدودیتها هستند و میتوانند مقدار پیشفرض را تنظیم کنند و مشخص کنند که آیا مقادیر اختصاصی میتوانند ارث بگیرند یا خیر.
استفاده از @property
مزایا:
- کنترل نوع داده و محدودیتها: باید نوع داده مقادیر اختصاصی را مشخص کنید، مانند <number>، <color>، <length> و غیره. این میتواند از خطا جلوگیری کند و استفاده صحیح از مقادیر اختصاصی را تضمین کند.
- تنظیم مقدار پیشفرض: میتوانید مقدار پیشفرض برای مقادیر اختصاصی تعریف کنید. این اطمینان میدهد که اگر مقدار نامعتبر بعدی تعریف شد، مرورگر از مقدار پیشفرض تعریف شده استفاده خواهد کرد.
- تنظیم رفتار ارث: باید مشخص کنید که آیا مقادیر اختصاصی میتوانند از عنصر والد ارث بگیرند یا خیر.
مثال: تعریف مقادیر اختصاصی
@property --my-color { syntax: "<color>"; inherits: true; initial-value: lightgray; }
تعریف بالا نشان میدهد که --my-color یک مقادیر رنگی است که میتواند از عنصر والد ارث بگیرد و مقدار پیشفرض آن lightgray است.
استفاده از مقادیر اختصاصی در CSS:
body {}} background-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 | درست یا غلط. کنترل اینکه آیا ویژگیهای سفارشی مشخص شده توسط @property به صورت پیشفرض ارثبرداری میشوند یا خیر. |
پشتیبانی مرورگر
اعداد در جدول نشاندهنده نسخهای از مرورگر هستند که کاملترین قاعده @ را پشتیبانی میکند.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
85 | 85 | 128 | 16.4 | 71 |
صفحات مرتبط
آموزش:قانون @property CSS