آموزش رایگان CSS

استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف

12م آبان 1403 محراب حسن زاده
استفاده از calc در CSS: محاسبات پویا برای طراحی‌های منعطف

یکی از ابزارهای قدرتمند و پرکاربرد در CSS، تابع calc() است. این تابع به شما امکان می‌دهد که اندازه‌ها، فواصل و سایر مقادیر CSS را به صورت پویا محاسبه کنید. calc() می‌تواند با واحدهای مختلفی مانند درصد، پیکسل و حتی واحدهای واکنش‌گرا ترکیب شود و به شما انعطاف بیشتری در طراحی صفحات وب بدهد. در این مقاله، نحوه استفاده از calc()، کاربردهای رایج آن و برخی از بهترین شیوه‌ها برای استفاده بهینه از این تابع را بررسی می‌کنیم.

 

معرفی تابع calc()

تابع calc() به شما اجازه می‌دهد که محاسبات ریاضی را مستقیماً در CSS انجام دهید. این ویژگی برای محاسبه اندازه‌ها و ایجاد فواصل پویا بسیار مفید است و می‌تواند با عملیات ریاضی اصلی مانند جمع (+)، تفریق (-)، ضرب (*) و تقسیم (/) استفاده شود.



.element {
  width: calc(100% - 50px);
}

 

در اینجا:

  • عرض عنصر 100% از اندازه والدش منهای 50px است.

 

کاربردهای رایج calc() در CSS

محاسبه اندازه‌های پویا

تابع calc() می‌تواند برای تعیین اندازه‌های پویا که ترکیبی از واحدهای مختلف دارند، استفاده شود. به عنوان مثال، برای محاسبه عرضی که ترکیبی از درصد و پیکسل باشد، می‌توانید از calc() استفاده کنید.



.container {
  width: calc(70% + 20px);
}

 

در اینجا:

  • عرض container به اندازه 70 درصد از اندازه والد خود بعلاوه 20 پیکسل تنظیم شده است.

 

تنظیم فواصل پویا

با استفاده از calc() می‌توانید فاصله‌های پویا و دقیق ایجاد کنید. این روش به‌ویژه در طراحی‌های واکنش‌گرا که فاصله‌های دقیق نیاز است، کاربرد دارد.



.box {
  padding: calc(10px + 1%);
}

 

در اینجا:

  • padding به صورت پویا و ترکیبی از 10 پیکسل و 1 درصد از اندازه والد تعیین شده است.

 

ترکیب واحدهای مختلف با calc()

یکی از مهم‌ترین ویژگی‌های calc() این است که می‌توانید واحدهای مختلف را با یکدیگر ترکیب کنید. به عنوان مثال، درصد، پیکسل و واحدهای واکنش‌گرا مانند vw و vh را می‌توان در یک محاسبه استفاده کرد.



.section {
  height: calc(50vh - 100px);
}

 

در اینجا:

  • ارتفاع section برابر با 50 درصد از ارتفاع صفحه نمایش منهای 100 پیکسل است.

مثال دیگر: ترکیب درصد و پیکسل



.sidebar {
  width: calc(30% - 15px);
}

 

در اینجا:

  • عرض sidebar برابر با 30 درصد اندازه والد منهای 15 پیکسل است.

 

ایجاد فاصله بین عناصر با استفاده از calc()

با استفاده از calc() می‌توانید فواصل پویا بین عناصر را تنظیم کنید. این ویژگی به شما امکان می‌دهد که فاصله‌ای دقیق بین دو عنصر ایجاد کنید و از تنظیمات ثابت پرهیز کنید.



.card {
  margin-right: calc(5vw + 10px);
}

 

در اینجا:

  • فاصله سمت راست card برابر با مجموع 5 درصد عرض صفحه نمایش و 10 پیکسل است.

 

استفاده از calc() برای تنظیم اندازه فونت

تابع calc() می‌تواند برای تعیین اندازه‌های پویا در فونت‌ها نیز استفاده شود. به عنوان مثال، اندازه فونت را می‌توانید با ترکیب واحدهای ثابت و پویا تنظیم کنید.



.title {
  font-size: calc(1em + 1vw);
}

 

در اینجا:

  • اندازه فونت به صورت پویا تنظیم شده و برابر با مجموع 1em و 1vw است.

مثال برای تنظیم پویا در عناوین



.heading {
  font-size: calc(2rem + 1vmin);
}

 

در اینجا:

  • اندازه فونت heading به صورت پویا براساس 2rem بعلاوه 1vmin تعیین شده است، که در دستگاه‌های مختلف مقیاس‌پذیری بهتری خواهد داشت.

 

استفاده از calc() برای طرح‌بندی واکنش‌گرا

calc() برای ایجاد طرح‌بندی‌های واکنش‌گرا که نیاز به فواصل و اندازه‌های پویا دارند، بسیار مفید است. این ویژگی به شما امکان می‌دهد تا اندازه‌های پویا برای طرح‌بندی ایجاد کنید که در نمایشگرهای مختلف بهینه باشند.

مثال طرح‌بندی سه‌ستونه با استفاده از calc()



.container {
  display: flex;
}

.column {
  width: calc(33.33% - 10px);
  margin: 5px;
}

 

در اینجا:

  • هر ستون در container با استفاده از calc() به اندازه یک‌سوم عرض والد منهای 10 پیکسل تنظیم شده است، که باعث می‌شود این طرح‌بندی در نمایشگرهای مختلف واکنش‌گرا باشد.

 

نکات و بهترین شیوه‌ها برای استفاده از calc()

  • استفاده از فضاهای خالی برای خوانایی بهتر: برای خوانایی بهتر کد، حتماً بین عملگرهای ریاضی مانند + و - و مقادیر فاصله قرار دهید، زیرا بدون این فاصله‌ها ممکن است مرورگرها کد را به درستی تفسیر نکنند.

                
    
    .example {
      width: calc(100% - 50px);
    }
    
                

     

  • ترکیب calc() با واحدهای واکنش‌گرا: از calc() همراه با واحدهایی مانند vw، vh و % استفاده کنید تا طراحی شما در نمایشگرهای مختلف به‌طور پویا تنظیم شود.

  • اجتناب از محاسبات پیچیده: تلاش کنید از محاسبات بیش از حد پیچیده با calc() پرهیز کنید تا کارایی و سادگی کد حفظ شود.

  • تست و بررسی در مرورگرهای مختلف: اگرچه calc() در اکثر مرورگرها پشتیبانی می‌شود، اما همواره تست کنید تا از عملکرد صحیح آن اطمینان حاصل کنید.

 

نتیجه‌گیری

تابع calc() در CSS یک ابزار قدرتمند و انعطاف‌پذیر است که به شما امکان می‌دهد اندازه‌ها، فاصله‌ها و حتی فونت‌ها را به صورت پویا و دقیق تنظیم کنید. با ترکیب واحدهای مختلف و ایجاد محاسبات پویا، calc() می‌تواند به شما در ایجاد طرح‌های واکنش‌گرا و قابل تطبیق در نمایشگرهای مختلف کمک کند. استفاده هوشمندانه از این ویژگی می‌تواند تجربه کاربری بهتری ارائه دهد و به طراحی‌های زیبا و انعطاف‌پذیر منجر شود.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها
1م آبان 1403

آموزش اصول Web APIs و نحوه استفاده از آن‌ها در جاوا اسکریپت: راهنمای کامل با مثال‌ها

مطالعه بیشتر
آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی
5م آبان 1403

آموزش کار با Webpack و Bundlers برای مدیریت پروژه‌ها: راهنمای جامع و کاربردی

مطالعه بیشتر
نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان
28م شهریور 1402

نصب Node.js و Create React App: شروع پروژه‌های React.js به‌صورت آسان

مطالعه بیشتر
کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب
11م آبان 1403

کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب

مطالعه بیشتر
آموزش ترانزیشن‌ها و انیمیشن‌های نرم با CSS: ایجاد افکت‌های پویا و واکنش‌گرا
10م شهریور 1402

آموزش ترانزیشن‌ها و انیمیشن‌های نرم با CSS: ایجاد افکت‌های پویا و واکنش‌گرا

مطالعه بیشتر
آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination
29م مرداد 1402

آموزش ایجاد تگ‌های صفحه‌بندی در HTML و CSS: طراحی و استایل‌دهی pagination

مطالعه بیشتر
Lifecycle Hooks در Vue.js | مدیریت چرخه حیات کامپوننت‌ها با مثال کاربردی
29م آذر 1404

Lifecycle Hooks در Vue.js | مدیریت چرخه حیات کامپوننت‌ها با مثال کاربردی

مطالعه بیشتر
جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام
5م آبان 1403

جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام

مطالعه بیشتر
آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها
2م شهریور 1403

آموزش مفاهیم پایه‌ای اشیاء در جاوا اسکریپت: تعریف، ویژگی‌ها و متدها

مطالعه بیشتر
آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
2م بهمن 1402

آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر

مطالعه بیشتر
آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها
12م آبان 1403

آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها

مطالعه بیشتر
آموزش تگ‌های پیوندی و اتصالی در HTML: ایجاد لینک‌های داخلی و خارجی
29م مرداد 1402

آموزش تگ‌های پیوندی و اتصالی در HTML: ایجاد لینک‌های داخلی و خارجی

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد