دسته : آموزش رایگان CSS
Box Model یکی از مفاهیم اصلی در CSS است که به شما امکان میدهد ابعاد و فاصلههای عناصر HTML را کنترل و مدیریت کنید. با درک صحیح Box Model، میتوانید با دقت بیشتری ظاهر و چیدمان عناصر را تنظیم کنید و وبسایتهای منظم و کاربرپسند طراحی کنید. در این مقاله، به بررسی کامل Box Model، اجزای آن، و نحوه استفاده از آن برای کنترل دقیق فاصلهها و ابعاد در CSS خواهیم پرداخت.
هر عنصر HTML در CSS به شکل یک باکس یا جعبه در نظر گرفته میشود که شامل چند بخش اصلی است. این بخشها به ترتیب از داخل به خارج عبارتند از:
محتوا (Content): محتوای اصلی عنصر، شامل متن، تصاویر یا هر محتوای دیگری.
پدینگ (Padding): فاصله بین محتوا و مرز.
مرز (Border): خط دور عنصر که محتوا و پدینگ را احاطه کرده است.
حاشیه (Margin): فضای خارج از مرز که عنصر را از عناصر دیگر جدا میکند.
محتوا، بخش اصلی یک عنصر است که در آن متن، تصویر یا هر نوع محتوای دیگری قرار میگیرد. میتوانید ابعاد این محتوا را با استفاده از ویژگیهای width و height کنترل کنید.
div {
width: 200px;
height: 150px;
}
در اینجا:
width عرض محتوای عنصر را 200 پیکسل تنظیم میکند.
height ارتفاع عنصر را به 150 پیکسل تغییر میدهد.
پدینگ فاصله داخلی بین محتوا و مرز عنصر است که با ویژگی padding تعیین میشود. پدینگ میتواند برای هر طرف عنصر (بالا، راست، پایین، چپ) به صورت جداگانه تنظیم شود.
div {
padding: 20px; /* برای همه طرفین */
padding-top: 10px; /* فقط بالا */
padding-right: 15px; /* فقط راست */
padding-bottom: 20px; /* فقط پایین */
padding-left: 25px; /* فقط چپ */
}
در اینجا:
padding فضای داخلی را از هر طرف به مقدار مشخصی افزایش میدهد.
تنظیم پدینگ باعث میشود که فاصله بین محتوا و مرز افزایش یابد و فضای بیشتری به محتوا اختصاص داده شود.
مرز دور عنصر قرار میگیرد و به عنصر جلوه بصری میدهد. برای تنظیم مرز، باید سه ویژگی اصلی زیر را تعیین کنید: ضخامت (width)، سبک (style) و رنگ (color).
div {
border: 2px solid black;
}
در اینجا:
border: 2px solid black یک مرز 2 پیکسلی مشکی و با سبک solid به عنصر اضافه میکند.
شما میتوانید مرزها را به صورت جداگانه برای هر طرف تنظیم کنید.
حاشیه فضای خارجی عنصر است که آن را از عناصر دیگر جدا میکند. میتوانید حاشیه را برای هر طرف عنصر به صورت جداگانه تنظیم کنید یا مقدار کلی برای تمامی طرفین تعیین کنید.
div {
margin: 10px; /* برای همه طرفین */
margin-top: 5px; /* فقط بالا */
margin-right: 15px; /* فقط راست */
margin-bottom: 20px; /* فقط پایین */
margin-left: 25px; /* فقط چپ */
}
در اینجا:
margin فضای بیرونی بین عنصر و سایر عناصر را تعیین میکند.
به طور پیشفرض، ویژگی box-sizing مقدار content-box دارد که در این حالت، عرض و ارتفاع تنها به محتوای عنصر اعمال میشود و پدینگ و مرز به این ابعاد اضافه میشوند. این حالت ممکن است گاهی باعث تغییر ابعاد نهایی عنصر شود.
با تنظیم box-sizing به مقدار border-box، پدینگ و مرزها در محاسبه عرض و ارتفاع لحاظ میشوند و این باعث میشود که ابعاد عنصر به طور دقیق کنترل شوند.
div {
box-sizing: border-box;
width: 200px;
height: 150px;
padding: 10px;
border: 5px solid black;
}
در اینجا:
با استفاده از box-sizing: border-box، ابعاد نهایی عنصر شامل پدینگ و مرز خواهد بود. این ویژگی برای کنترل دقیقتر و جلوگیری از تغییر ابعاد کلی عنصر بسیار مفید است.
برای ایجاد طرحهای منظم و دقیق، میتوانید ویژگیهای Box Model را به دقت ترکیب کنید.
مثال کاربردی: طراحی کارت با Box Model
.card {
width: 300px;
padding: 20px;
margin: 15px;
border: 2px solid #ddd;
box-sizing: border-box;
background-color: #f9f9f9;
}
در اینجا:
width عرض کارت را تنظیم میکند.
padding فضای داخلی کارت را مشخص میکند و محتوا را از لبهها فاصله میدهد.
margin کارت را از سایر عناصر جدا میکند.
border جلوهای بصری به کارت میدهد.
box-sizing: border-box باعث میشود که کل عرض کارت شامل پدینگ و مرز باشد.
استفاده از box-sizing: border-box به عنوان استاندارد
برای جلوگیری از مشکلات محاسبهای و کنترل دقیقتر ابعاد، میتوانید به طور کلی box-sizing: border-box را برای همه عناصر تعریف کنید.
*,
*::before,
*::after {
box-sizing: border-box;
}
در اینجا، box-sizing: border-box به همه عناصر اعمال میشود و محاسبات Box Model را آسانتر میکند.
margin برای فاصله دادن بین عناصر استفاده میشود و در ایجاد چیدمان تمیز و منظم موثر است.
padding برای افزایش فضای داخلی یک عنصر به کار میرود که معمولاً خوانایی متن را بهبود میبخشد.
برای اطمینان از اینکه طرح شما در تمام مرورگرها به درستی نمایش داده میشود، استفاده از یک ابزار مانند Inspect Element در مرورگرها بسیار مفید است.
Box Model در طراحی واکنشگرا نیز اهمیت زیادی دارد. برای تنظیم عناصر به شکلی که در اندازههای مختلف صفحه نمایش به درستی نمایش داده شوند، میتوانید از درصد و واحدهای نسبی مانند vw (عرض صفحه) و vh (ارتفاع صفحه) استفاده کنید.
مثال واکنشگرا با Box Model
.container {
width: 80vw;
padding: 2vw;
margin: 1vh auto;
border: 2px solid #333;
}
در اینجا:
width: 80vw عرض ظرف را نسبت به عرض صفحه نمایش تنظیم میکند.
padding: 2vw پدینگ را نسبت به عرض صفحه نمایش تعیین میکند تا در اندازههای مختلف هماهنگ باشد.
margin: 1vh auto به صورت عمودی فاصلهای نسبت به ارتفاع صفحه میدهد و عنصر را در مرکز صفحه قرار میدهد.
با تسلط بر Box Model و ترکیب هوشمندانه ویژگیهای آن، میتوانید کنترل کاملی بر ابعاد و فاصلههای عناصر داشته باشید. این مهارتها نه تنها به شما امکان میدهد وبسایتهایی زیبا و حرفهای ایجاد کنید، بلکه به بهبود خوانایی و تجربه کاربری نیز کمک میکند. با استفاده از این مفاهیم و تمرین، به راحتی میتوانید طراحیهای دقیق و کاربرپسند خلق کنید.
نظری یافت نشد
آموزش استفاده از position در CSS: نحوه موقعیتدهی عناصر در صفحات وب
9م آبان 1403
مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403
مطالعه بیشتر
مقدمهای به template و دیتابایندینگ در Vue.js: نحوه مدیریت دادهها و رندرینگ پویا
28م شهریور 1402
مطالعه بیشتر
آموزش ترانزیشنها و انیمیشنهای نرم با CSS: ایجاد افکتهای پویا و واکنشگرا
10م شهریور 1402
مطالعه بیشتر
آموزش لیستها در CSS: طراحی و استایلدهی ساده برای لیستهای HTML
10م شهریور 1402
مطالعه بیشتر
آموزش جامع توابع در جاوا اسکریپت: نحوه تعریف، فراخوانی و بازگشت مقادیر
2م بهمن 1402
مطالعه بیشتر
استفاده از setTimeout و setInterval در جاوا اسکریپت: آموزش کامل و مثالها
29م مهر 1403
مطالعه بیشتر
آموزش ایجاد یک پروژه ساده React: شروع کار و ساختاردهی کامپوننتها
28م شهریور 1402
مطالعه بیشتر
توابع فلش (Arrow Functions) در جاوا اسکریپت: سادهسازی کد با استفاده از ES6
2م شهریور 1403
مطالعه بیشتر
مفاهیم Promise و چگونگی استفاده از آن در جاوا اسکریپت: راهنمای کامل همراه با مثالها
30م مهر 1403
مطالعه بیشتر
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403
مطالعه بیشتر
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیرهسازی دادهها در مرورگر
3م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد