در طراحی وب، درک نحوه محاسبه عرض عناصر HTML یکی از مباحث کلیدی است. دو ویژگی padding و border می‌توانند به طور قابل توجهی روی عرض نهایی یک عنصر تأثیر بگذارند. این تأثیر به مدل جعبه‌ای (Box Model) در CSS مربوط می‌شود که نحوه محاسبه ابعاد عناصر را تعیین می‌کند.

به طور پیش‌فرض، وقتی شما عرض (width) یک عنصر را تعیین می‌کنید، این مقدار فقط به محتوای داخلی آن اشاره دارد. اگر padding یا border اضافه کنید، این مقادیر به عرض اصلی اضافه می‌شوند و باعث می‌شوند عنصر در نهایت پهن‌تر از مقدار تعیین شده ظاهر شود.

کاربردهای عملی در طراحی

این رفتار می‌تواند در موارد زیر مهم باشد:

  • طراحی لی‌اوت‌های دقیق با ابعاد مشخص
  • ایجاد اسپیسینگ بین عناصر بدون تغییر در عرض کلی
  • طراحی ریسپانسیو که نیاز به محاسبات دقیق عرض دارد
  • همترازی عناصر در کنار هم بدون ایجاد اورفلو

نمونه کدهای مرتبط

مثال ۱: عنصر با padding و border اضافی

.box {
  width: 200px;
  padding: 20px;
  border: 5px solid black;
}

در این مثال، عرض واقعی عنصر برابر خواهد بود با: 200px (عرض محتوا) + 40px (padding چپ و راست) + 10px (border چپ و راست) = 250px

مثال ۲: استفاده از box-sizing: border-box

.box {
  box-sizing: border-box;
  width: 200px;
  padding: 20px;
  border: 5px solid black;
}

در این حالت، عرض کل عنصر دقیقاً 200px باقی می‌ماند و padding و border از فضای داخلی کسر می‌شوند.

مثال ۳: مقایسه دو مدل مختلف

.default-box {
  width: 300px;
  padding: 30px;
}

.border-box {
  box-sizing: border-box;
  width: 300px;
  padding: 30px;
}

خلاصه درس

  • به طور پیش‌فرض، padding و border به عرض تعیین شده اضافه می‌شوند
  • ویژگی box-sizing: border-box باعث می‌شود padding و border در عرض تعیین شده محاسبه شوند
  • برای طراحی‌های دقیق، معمولاً استفاده از border-box توصیه می‌شود
  • این رفتار در تمام مرورگرهای مدرن پشتیبانی می‌شود
  • برای عناصر inline، padding و border رفتار متفاوتی دارند

درک این مفاهیم به شما کمک می‌کند طرح‌بندی‌های دقیق‌تری ایجاد کنید و از مشکلات رایج مربوط به ابعاد عناصر جلوگیری نمایید. همیشه قبل از تعیین عرض عناصر، مدل جعبه‌ای مورد استفاده را در نظر بگیرید.

توسعه دهندگان
نیما جاهد