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

دسته : آموزش رایگان CSS

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

استفاده از 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() می‌تواند به شما در ایجاد طرح‌های واکنش‌گرا و قابل تطبیق در نمایشگرهای مختلف کمک کند. استفاده هوشمندانه از این ویژگی می‌تواند تجربه کاربری بهتری ارائه دهد و به طراحی‌های زیبا و انعطاف‌پذیر منجر شود.

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

تنظیم عرض و ارتفاع عناصر در CSS: استفاده از width، height، max و min برای کنترل دقیق اندازه‌ها

9م آبان 1403

مطالعه بیشتر

پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of

پیمایش اشیاء و آرایه‌ها در جاوا اسکریپت: راهنمای کامل برای Object.keys، Object.values، for...in و for...of

4م مهر 1403

مطالعه بیشتر

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان

1م آبان 1403

مطالعه بیشتر

مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا

مقدمه‌ای به template و دیتابایندینگ در Vue.js: نحوه مدیریت داده‌ها و رندرینگ پویا

28م شهریور 1402

مطالعه بیشتر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

3م آبان 1403

مطالعه بیشتر

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیش‌فرض - راهنمای جامع

2م آبان 1403

مطالعه بیشتر

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

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

12م آبان 1403

مطالعه بیشتر

کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد

کنترل زمان‌بندی و اندازه‌گیری دقیق انیمیشن‌ها در CSS: آموزش جامع و اصول استاندارد

18م شهریور 1402

مطالعه بیشتر

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن

معرفی React.js و بررسی مزایای آن برای توسعه وب و اپلیکیشن

28م شهریور 1402

مطالعه بیشتر

مقدمه و ساختار اولیه HTML: راهنمای شروع طراحی صفحات وب برای مبتدیان

مقدمه و ساختار اولیه HTML: راهنمای شروع طراحی صفحات وب برای مبتدیان

18م مرداد 1402

مطالعه بیشتر

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

اصول پایه React.js: آشنایی با کامپوننت‌ها، وضعیت و رندرینگ

28م شهریور 1402

مطالعه بیشتر

مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها

مدیریت خطاها و استفاده از try...catch در جاوا اسکریپت: راهنمای کامل و مثال‌ها

28م مهر 1403

مطالعه بیشتر

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