یکی از ابزارهای قدرتمند و پرکاربرد در CSS، تابع calc() است. این تابع به شما امکان میدهد که اندازهها، فواصل و سایر مقادیر CSS را به صورت پویا محاسبه کنید. calc() میتواند با واحدهای مختلفی مانند درصد، پیکسل و حتی واحدهای واکنشگرا ترکیب شود و به شما انعطاف بیشتری در طراحی صفحات وب بدهد. در این مقاله، نحوه استفاده از calc()، کاربردهای رایج آن و برخی از بهترین شیوهها برای استفاده بهینه از این تابع را بررسی میکنیم.
تابع calc() به شما اجازه میدهد که محاسبات ریاضی را مستقیماً در CSS انجام دهید. این ویژگی برای محاسبه اندازهها و ایجاد فواصل پویا بسیار مفید است و میتواند با عملیات ریاضی اصلی مانند جمع (+)، تفریق (-)، ضرب (*) و تقسیم (/) استفاده شود.
Css
.element {
width : calc(100% - 50px) ;
}
در اینجا:
عرض عنصر 100% از اندازه والدش منهای 50px است.
تابع calc() میتواند برای تعیین اندازههای پویا که ترکیبی از واحدهای مختلف دارند، استفاده شود. به عنوان مثال، برای محاسبه عرضی که ترکیبی از درصد و پیکسل باشد، میتوانید از calc() استفاده کنید.
Css
.container {
width : calc(70% + 20px) ;
}
در اینجا:
عرض container به اندازه 70 درصد از اندازه والد خود بعلاوه 20 پیکسل تنظیم شده است.
با استفاده از calc() میتوانید فاصلههای پویا و دقیق ایجاد کنید. این روش بهویژه در طراحیهای واکنشگرا که فاصلههای دقیق نیاز است، کاربرد دارد.
Css
.box {
padding : calc(10px + 1%) ;
}
در اینجا:
padding به صورت پویا و ترکیبی از 10 پیکسل و 1 درصد از اندازه والد تعیین شده است.
یکی از مهمترین ویژگیهای calc() این است که میتوانید واحدهای مختلف را با یکدیگر ترکیب کنید. به عنوان مثال، درصد، پیکسل و واحدهای واکنشگرا مانند vw و vh را میتوان در یک محاسبه استفاده کرد.
Css
.section {
height : calc(50vh - 100px) ;
}
در اینجا:
ارتفاع section برابر با 50 درصد از ارتفاع صفحه نمایش منهای 100 پیکسل است.
مثال دیگر: ترکیب درصد و پیکسل
Css
.sidebar {
width : calc(30% - 15px) ;
}
در اینجا:
عرض sidebar برابر با 30 درصد اندازه والد منهای 15 پیکسل است.
با استفاده از calc() میتوانید فواصل پویا بین عناصر را تنظیم کنید. این ویژگی به شما امکان میدهد که فاصلهای دقیق بین دو عنصر ایجاد کنید و از تنظیمات ثابت پرهیز کنید.
Css
.card {
margin-right : calc(5vw + 10px) ;
}
در اینجا:
فاصله سمت راست card برابر با مجموع 5 درصد عرض صفحه نمایش و 10 پیکسل است.
تابع calc() میتواند برای تعیین اندازههای پویا در فونتها نیز استفاده شود. به عنوان مثال، اندازه فونت را میتوانید با ترکیب واحدهای ثابت و پویا تنظیم کنید.
Css
.title {
font-size : calc(1em + 1vw) ;
}
در اینجا:
اندازه فونت به صورت پویا تنظیم شده و برابر با مجموع 1em و 1vw است.
مثال برای تنظیم پویا در عناوین
Css
.heading {
font-size : calc(2rem + 1vmin) ;
}
در اینجا:
اندازه فونت heading به صورت پویا براساس 2rem بعلاوه 1vmin تعیین شده است، که در دستگاههای مختلف مقیاسپذیری بهتری خواهد داشت.
calc() برای ایجاد طرحبندیهای واکنشگرا که نیاز به فواصل و اندازههای پویا دارند، بسیار مفید است. این ویژگی به شما امکان میدهد تا اندازههای پویا برای طرحبندی ایجاد کنید که در نمایشگرهای مختلف بهینه باشند.
مثال طرحبندی سهستونه با استفاده از calc()
Css
.container {
display : flex ;
}
.column {
width : calc(33.33% - 10px) ;
margin : 5px ;
}
در اینجا:
هر ستون در container با استفاده از calc() به اندازه یکسوم عرض والد منهای 10 پیکسل تنظیم شده است، که باعث میشود این طرحبندی در نمایشگرهای مختلف واکنشگرا باشد.
استفاده از فضاهای خالی برای خوانایی بهتر: برای خوانایی بهتر کد، حتماً بین عملگرهای ریاضی مانند + و - و مقادیر فاصله قرار دهید، زیرا بدون این فاصلهها ممکن است مرورگرها کد را به درستی تفسیر نکنند.
Css
.example {
width : calc(100% - 50px) ;
}
ترکیب calc() با واحدهای واکنشگرا: از calc() همراه با واحدهایی مانند vw، vh و % استفاده کنید تا طراحی شما در نمایشگرهای مختلف بهطور پویا تنظیم شود.
اجتناب از محاسبات پیچیده: تلاش کنید از محاسبات بیش از حد پیچیده با calc() پرهیز کنید تا کارایی و سادگی کد حفظ شود.
تست و بررسی در مرورگرهای مختلف: اگرچه calc() در اکثر مرورگرها پشتیبانی میشود، اما همواره تست کنید تا از عملکرد صحیح آن اطمینان حاصل کنید.
تابع calc() در CSS یک ابزار قدرتمند و انعطافپذیر است که به شما امکان میدهد اندازهها، فاصلهها و حتی فونتها را به صورت پویا و دقیق تنظیم کنید. با ترکیب واحدهای مختلف و ایجاد محاسبات پویا، calc() میتواند به شما در ایجاد طرحهای واکنشگرا و قابل تطبیق در نمایشگرهای مختلف کمک کند. استفاده هوشمندانه از این ویژگی میتواند تجربه کاربری بهتری ارائه دهد و به طراحیهای زیبا و انعطافپذیر منجر شود.
نظری یافت نشد
آموزش لیستها در HTML: طراحی و استایلدهی لیستهای مرتب و نامرتب
20م مرداد 1402
مطالعه بیشتر
آموزش mix-blend-mode و background-blend-mode در CSS: ترکیب رنگها و ایجاد افکتهای جذاب
12م آبان 1403
مطالعه بیشتر
آموزش رویدادهای پیشرفته در جاوا اسکریپت: بابلینگ، کپچرینگ و توقف پیشفرض - راهنمای جامع
2م آبان 1403
مطالعه بیشتر
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیرهسازی دادهها در مرورگر
3م آبان 1403
مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثالها
30م مهر 1403
مطالعه بیشتر
آموزش ساخت یک برنامه ساده با Fetch API در جاوا اسکریپت: راهنمای گام به گام
1م آبان 1403
مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
28م شهریور 1402
مطالعه بیشتر
آموزش ایجاد فرم با استفاده از HTML: طراحی فرمهای ساده و کاربردی
21م مرداد 1402
مطالعه بیشتر
آموزش موقعیتبندی المانها با استفاده از position در CSS: نحوه استفاده از absolute، relative و fixed
5م شهریور 1402
مطالعه بیشتر
آموزش کار با رویدادهای فرم و اعتبارسنجی فرمها در جاوا اسکریپت: راهنمای جامع
3م آبان 1403
مطالعه بیشتر
آموزش ساخت Toggle Switch با CSS: طراحی دکمههای تغییر وضعیت جذاب و واکنشگرا
16م آبان 1403
مطالعه بیشتر
آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایلها
12م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد