Box Model یکی از مفاهیم اصلی در CSS است که نحوه نمایش عناصر در صفحه وب را مشخص میکند. در واقع، تمام عناصر HTML در مرورگر به صورت یک باکس در نظر گرفته میشوند که از چهار بخش اصلی تشکیل شدهاند: محتوا (Content)، پدینگ (Padding)، حاشیه (Border) و مارجین (Margin). درک صحیح Box Model برای تنظیم دقیق اندازه، فاصلهها و نمایش مناسب عناصر در صفحه اهمیت زیادی دارد. در این مقاله، به صورت گام به گام با اجزای Box Model و کاربردهای آن آشنا میشویم.
Box Model مدلی است که به شما اجازه میدهد اندازه و فضای اطراف عناصر HTML را مدیریت کنید. در این مدل، هر عنصر از چهار بخش اصلی تشکیل میشود:
Content: محتوای اصلی عنصر (مانند متن، تصاویر و ...).
Padding: فاصله داخلی بین محتوای عنصر و حاشیه آن.
Border: حاشیهای که اطراف عنصر قرار دارد.
Margin: فضای خارجی اطراف عنصر که فاصله بین عناصر را تنظیم میکند.
این بخش فضایی است که محتوای اصلی عنصر (مانند متن یا تصویر) در آن قرار میگیرد. اندازهی این بخش با استفاده از ویژگیهای width و height در CSS تعیین میشود.
.box {
width: 200px;
height: 100px;
background-color: #3498db;
}
در اینجا:
محتوا (Content) با عرض 200 پیکسل و ارتفاع 100 پیکسل تنظیم شده است.
Padding فاصله داخلی بین محتوای عنصر و حاشیه آن است. میتوانید پدینگ را برای تمامی جهات یا به صورت جداگانه برای هر طرف تنظیم کنید.
.box {
width: 200px;
height: 100px;
background-color: #3498db;
padding: 20px;
}
در اینجا:
padding فضای داخلی اطراف محتوا را به میزان 20 پیکسل افزایش میدهد.
Border حاشیهای است که اطراف عنصر قرار دارد و میتوان برای آن رنگ، ضخامت و سبک تنظیم کرد.
.box {
width: 200px;
height: 100px;
background-color: #3498db;
padding: 20px;
border: 5px solid #2ecc71;
}
در اینجا:
border به ضخامت 5 پیکسل و رنگ سبز به عنصر اضافه شده است که حاشیه دور عنصر را ایجاد میکند.
Margin فضای بیرونی عنصر است و فاصلهای بین عنصر و عناصر دیگر ایجاد میکند. میتوانید مارجین را برای هر طرف جداگانه تنظیم کنید.
.box {
width: 200px;
height: 100px;
background-color: #3498db;
padding: 20px;
border: 5px solid #2ecc71;
margin: 10px;
}
در اینجا:
margin فاصلهای به اندازه 10 پیکسل در اطراف عنصر ایجاد میکند.
در حالت پیشفرض، اندازه کلی یک عنصر شامل width و height محتوای آن به همراه padding، border و margin است. به این ترتیب، اندازه نهایی یک عنصر در صفحه وب به شکل زیر محاسبه میشود:
Total Width = width + padding-left + padding-right + border-left + border-right + margin-left + margin-right
Total Height = height + padding-top + padding-bottom + border-top + border-bottom + margin-top + margin-bottom
مثال محاسبه اندازه کلی
اگر در تنظیمات زیر:
width: 200px
height: 100px
padding: 20px
border: 5px
margin: 10px
باشد، اندازه کلی عنصر به صورت زیر محاسبه میشود:
Total Width = 200 + (20 * 2) + (5 * 2) + (10 * 2) = 270px
Total Height = 100 + (20 * 2) + (5 * 2) + (10 * 2) = 170px
بنابراین، اندازه نهایی عنصر 270 پیکسل عرض و 170 پیکسل ارتفاع خواهد بود.
ویژگی box-sizing به شما اجازه میدهد که نحوه محاسبه اندازه عناصر را کنترل کنید. دو مقدار اصلی برای box-sizing وجود دارد:
content-box (پیشفرض): تنها width و height محتوا را شامل میشود و padding و border به اندازه کلی اضافه میشوند.
border-box: width و height شامل padding و border هستند و نیازی به محاسبه اندازه کل نیست.
مثال استفاده از border-box
.box {
width: 200px;
height: 100px;
background-color: #3498db;
padding: 20px;
border: 5px solid #2ecc71;
box-sizing: border-box;
}
در اینجا:
با استفاده از box-sizing: border-box، اندازه کلی عنصر همان 200px برای عرض و 100px برای ارتفاع باقی میماند، حتی با وجود padding و border.
یکی از تکنیکهای رایج در CSS، استفاده از margin: auto برای تنظیم موقعیت عنصر در وسط صفحه است. این روش به ویژه برای عناصر با عرض ثابت و بدون استفاده از float مفید است.
مثال استفاده از margin: auto
.box {
width: 200px;
height: 100px;
background-color: #3498db;
margin: auto;
}
در اینجا:
margin: auto عنصر را در وسط صفحه قرار میدهد، البته زمانی که عنصر درون یک کانتینر با text-align: center باشد یا در حالت display: block باشد.
شما میتوانید padding و margin را برای هر طرف به صورت جداگانه تنظیم کنید:
padding-top، padding-right، padding-bottom، padding-left
margin-top، margin-right، margin-bottom، margin-left
مثال تنظیم padding و margin برای هر طرف
.box {
width: 200px;
height: 100px;
background-color: #3498db;
padding: 10px 20px 30px 40px; /* بالا، راست، پایین، چپ */
margin: 5px 10px 15px 20px; /* بالا، راست، پایین، چپ */
}
در اینجا:
با ترکیب مقادیر مختلف برای هر طرف، کنترل کاملی روی فاصلهها داریم.
استفاده از box-sizing: border-box: این تنظیم میتواند به شما کمک کند تا اندازه کلی عناصر را راحتتر کنترل کنید و از محاسبات پیچیده جلوگیری کنید.
هماهنگی padding و margin: تنظیم درست فاصلهها باعث ایجاد ظاهری منظم و هماهنگ میشود.
تست در مرورگرهای مختلف: ممکن است برخی مرورگرها به صورت متفاوتی Box Model را پردازش کنند، بنابراین تست در مرورگرهای مختلف مهم است.
Box Model یکی از مفاهیم پایهای CSS است که با درک و استفاده صحیح از آن، میتوانید اندازه، حاشیهها و فاصلههای عناصر را به دقت تنظیم کنید. با استفاده از این مدل و ویژگیهای مرتبط، میتوانید طراحیهای منظم و کاربرپسندی ایجاد کنید و کنترل کاملی بر چیدمان و ظاهر عناصر در صفحه وب داشته باشید.
نظری یافت نشد
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403
مطالعه بیشتر
آموزش استایلدهی لینکها در CSS: طراحی و تنظیمات ساده برای لینکهای HTML
7م شهریور 1402
مطالعه بیشتر
راهنمای کامل لیستها در HTML: آموزش انواع و اصول سئو
20م مرداد 1402
مطالعه بیشتر
آموزش استفاده از position در CSS: نحوه موقعیتدهی عناصر در صفحات وب
9م آبان 1403
مطالعه بیشتر
آموزش مدیریت Box Model و ترکیب اجزای آن با CSS: کنترل دقیق فاصلهها و ابعاد عناصر
5م شهریور 1402
مطالعه بیشتر
عملگرها و عبارات محاسباتی در جاوا اسکریپت: نحوه استفاده و کاربردهای مختلف
28م شهریور 1402
مطالعه بیشتر
آموزش ایجاد و حذف المانهای DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403
مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
11م آبان 1403
مطالعه بیشتر
مقدمهای به رویدادها و دستورات در Vue.js: نحوه مدیریت و استفاده از v-on
28م شهریور 1402
مطالعه بیشتر
آموزش لیستها در CSS: طراحی و استایلدهی ساده برای لیستهای HTML
10م شهریور 1402
مطالعه بیشتر
ایجاد Layoutهای واکنشگرا با flex-direction و justify-content در CSS Flexbox: راهنمای جامع
11م آبان 1403
مطالعه بیشتر
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
27م شهریور 1402
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد