CSS - The @property Rule
📌 @property
یک CSS at-rule جدیده که اجازه میده برای CSS Variables (همون custom properties مثل --my-color
) ویژگیهای خاصی تعریف کنیم.
بهش میگن CSS Houdini Properties چون کمک میکنه متغیرها بهتر مدیریت بشن.
🔹 کاربرد اصلی @property
-
تعریف نوع داده برای یک متغیر (مثلاً عدد، رنگ، طول و …).
-
تعیین مقدار پیشفرض (initial value).
-
مشخص کردن آیا متغیر قابل انیمیشن (inherits: true/false) هست یا نه.
🔹 سینتکس @property
-
--my-var
→ اسم متغیر. -
syntax
→ نوع داده (<length>
,<color>
,<number>
,<percentage>
و …). -
inherits
→ مشخص میکنه از المنتهای والد به ارث میبره یا نه. -
initial-value
→ مقدار اولیه.
🔹 مثال ۱: متغیر رنگ با انیمیشن
👉 با هاور کردن روی .box
رنگش از قرمز به آبی تغییر میکنه، چون @property
گفته متغیر رنگی هست و میتونه انیمیت بشه.
🔹 مثال ۲: متغیر عددی
👉 با هاور کردن، مربع میچرخه.
🔹 مثال ۳: متغیر طول
👉 هاور که کنی، مربع بهصورت نرم به دایره تبدیل میشه.
⚠️ نکته مهم
-
@property
فعلاً فقط توی مرورگرهای مدرن (مثل Chrome, Edge, Opera) ساپورت میشه. -
توی Firefox و Safari هنوز پشتیبانی کامل نداره.