Sass Numeric Functions

Sass مجموعه‌ای از توابع عددی و ریاضی ارائه می‌دهد که برای مدیریت ابعاد، اندازه‌ها و نسبت‌ها در CSS بسیار مناسب هستند.

۱️⃣ ()abs

  • مقدار مطلق یک عدد را برمی‌گرداند

$value: -10px; .abs { width: abs($value); // 10px }

۲️⃣ ()ceil() / floor() / round

  • ceil() → گرد کردن به بالا

  • floor() → گرد کردن به پایین

  • round() → گرد کردن به نزدیک‌ترین عدد

$value: 12.7px; .ceil { width: ceil($value); } // 13px .floor { width: floor($value); } // 12px .round { width: round($value); } // 13px

۳️⃣ ()percentage

  • تبدیل یک عدد کسری به درصد

$value: 0.5; .percent { width: percentage($value); // 50% }

۴️⃣ ()min() / max() / clamp

  • پیدا کردن کمترین و بیشترین مقدار بین اعداد

.min { width: min(100px, 50px); } // 50px .max { width: max(100px, 50px); } // 100px .clamp { width: clamp(50px, 75px, 100px); // بین 50 و 100px، 75px }

۵️⃣ math operations (جمع، تفریق، ضرب، تقسیم)

  • Sass امکان انجام عملیات ریاضی روی واحدها را دارد

$base: 10px; $double: $base * 2; // 20px $half: $base / 2; // 5px $sum: $base + 5px; // 15px $diff: $base - 3px; // 7px

📌 واحدها باید همخوان باشند تا عملیات معتبر باشد

۶️⃣ ()pow(), sqrt(), abs(), log(), sin(), cos(), tan

  • توابع ریاضی پیشرفته Sass از نسخه جدید

  • مناسب برای محاسبات پیچیده و انیمیشن‌های داینامیک

$radius: 16px; .area { width: pow($radius, 2); // 256px*px (برای محاسبات) }

۷️⃣ ()clamp و scale-unit

  • clamp(value, min, max) → محدود کردن مقدار بین دو حد

  • scale-unit(number, unit) → تغییر واحد عدد

$value: 2; .scaled { width: scale-unit($value, px); } // 2px

۸️⃣ نکات مهم

  • Numeric Functions باعث می‌شوند CSS داینامیک و محاسباتی داشته باشید

  • مفید برای تعیین اندازه، فاصله‌ها، فونت‌ها و ابعاد عناصر

  • ترکیب با Variables و Mixins بسیار قوی است

🔹 مثال عملی

$base-font: 16px; $scale: 1.25; h1 { font-size: $base-font * pow($scale, 3); } // 31.25px h2 { font-size: $base-font * pow($scale, 2); } // 25px h3 { font-size: $base-font * $scale; } // 20px

📌 این مثال برای سیستم تایپوگرافی داینامیک و مقیاس‌پذیر استفاده می‌شود