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 هنوز پشتیبانی کامل نداره.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React