قانون @property در CSS

قانون @property
در CSS یک ویژگی جدید است که به توسعهدهندگان اجازه میدهد تا ویژگیهای سفارشی (متغیرهای CSS) را با محدودیتهای خاص تعریف و ثبت کنند. این قانون باعث میشود متغیرهای CSS قدرتمندتر شوند و شامل بررسی نوع، مقادیر پیشفرض و کنترل ارثبری باشند.
نحو (Syntax)
@property –custom-property-name {
syntax: “<data-type>”;
initial-value: <default-value>;
inherits: true | false;
}
پارامترها
--custom-property-name
: نام ویژگی سفارشی که باید با دو خط تیره (--
) شروع شود.syntax
: رشتهای که نوع داده مورد انتظار برای ویژگی را مشخص میکند (مانند<color>
،<length>
یا<number>
).initial-value
: مقدار پیشفرض برای ویژگی در صورتی که مقدار خاصی به آن اختصاص داده نشود.inherits
: یک مقدار بولین (true
یاfalse
) که مشخص میکند آیا این ویژگی باید از عناصر والد به فرزند ارث ببرد یا نه.
مثال
@property –theme-color {
syntax: “<color>”;
initial-value: #ff0000;
inherits: false;
}
div {
–theme-color: #00ff00; /* معتبر، با نوع <color> تطابق دارد */
background-color: var(–theme-color);
}
در این مثال:
- ویژگی سفارشی
--theme-color
برای دریافت مقادیر از نوع<color>
تعریف شده است. - مقدار پیشفرض آن
#ff0000
(رنگ قرمز) است. - این ویژگی از عناصر والد به فرزند ارث نمیبرد (
inherits: false
).
مزایا
- اعتبارسنجی: اطمینان از اینکه مقدار اختصاص داده شده به ویژگی با نوع داده تعریف شده مطابقت دارد.
- مقادیر پیشفرض: اعمال خودکار یک مقدار پیشفرض (
initial-value
) وقتی که مقدار مشخصی تنظیم نشده باشد. - کنترل ارثبری: امکان تعیین ارثبری ویژگی توسط توسعهدهندگان.
پشتیبانی مرورگرها
در حال حاضر، قانون @property
در نسخههای مدرن مرورگرهایی مانند Chrome (از نسخه 85) و Edge پشتیبانی میشود، اما ممکن است در مرورگرهایی مانند Firefox و Safari هنوز پشتیبانی کامل نداشته باشد. قبل از استفاده در پروژههای تولیدی، حتماً سازگاری را بررسی کنید.
کاربردها
- ایجاد سیستمهای تمسازی با اعتبارسنجی دقیق برای متغیرهای سفارشی.
- انیمیشنها و انتقالات پیشرفته که به متغیرهای CSS وابسته هستند.
- رفتار قابل پیشبینیتر و قویتر برای متغیرهای سفارشی در پروژههای بزرگ.
آیا نیاز به مثالهای بیشتر یا توضیحات اضافی دارید؟
دیدگاهتان را بنویسید