حالت آفلاین — محتوا از حافظهٔ کش نمایش داده می‌شود
آموزش CSS از صفر؛ طراحی صفحه با Flexbox و Grid

آموزش box-sizing در CSS؛ کارت با عرض نهایی ثابت

مدل جعبه CSS؛ فاصله، حاشیه و اندازه نهایی · 0٪

با content-box، عدد width تنها بخش محتوا رو اندازه می‌گیره. وقتی کارت باید دقیقاً در فضای مشخصی جا بشه، جمع‌کردن padding و border با عرض محتوا می‌تونه دردسرساز بشه. box-sizing:border-box می‌گه عرض اعلام‌شده، فاصله داخلی و خط دور رو هم شامل بشه. مرورگر سهم این دو رو از فضای محتوا کم می‌کنه و عرض تا لبه خط همون عدد می‌مونه.

توی مثال عرض نهایی نشان ۱۶۰ پیکسله، با اینکه padding و border هم داره. توی فعالیت یک کارت ۲۴۰ پیکسلی می‌سازیم و هر دو سمت فضای داخلی باید حفظ بشن. خطای رایج کم‌کردن دستی padding از width و باقی‌گذاشتن content-box است؛ نتیجه شاید فعلاً جا بشه اما منطق اندازه‌گذاری خواسته‌شده رو بیان نمی‌کنه. ویژگی box-sizing رو روی خود کارت بنویس تا به تنظیم صفحه وابسته نباشه. این تصمیم اندازه فونت رو عوض نمی‌کنه و مقدار padding همچنان همون عددی است که خودت مشخص کرده‌ای؛ فقط تفسیر عرض فرق می‌کنه.

✍️ مثال حل‌شده:

<div class="badge">نشان</div>
<style>.badge { width:160px; padding:10px; border:2px solid teal; box-sizing:border-box; }</style>

حالا نوبت توئه: کارت .sized باید box-sizing:border-box، width:240px، padding:20px و border:2px solid navy داشته باشد؛ بنابراین عرض تا لبه خط دقیقاً ۲۴۰ پیکسل می‌ماند. متن و عنصر کارت را حفظ کن. width را برای جبران دستی فاصله‌ها کوچک‌تر نکن.

فعالیت شما

کارت .sized باید box-sizing:border-box، width:240px، padding:20px و border:2px solid navy داشته باشد؛ بنابراین عرض تا لبه خط دقیقاً ۲۴۰ پیکسل می‌ماند. متن و عنصر کارت را حفظ کن. width را برای جبران دستی فاصله‌ها کوچک‌تر نکن.

مطالعهٔ این گام برای همه آزاد است

برای پاسخ‌دادن، بررسی پاسخ، ثبت پیشرفت و استفاده از دستیار باید شرایط شرکت در فعالیت‌ها را داشته باشید.

برای انجام فعالیت وارد شوید

برای انجام فعالیت‌ها ابتدا این دوره‌های پیش‌نیاز را تکمیل کنید:

کد اولیهٔ فعالیت

<!doctype html>
<html lang="fa" dir="rtl">
<head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>تمرین CSS</title></head>
<body>
<article class="sized">عرض قابل پیش‌بینی</article>
</body>
</html>

ظاهر صفحه (CSS)

body{margin:0;padding:16px;font-family:Tahoma,Arial,sans-serif;direction:rtl;color:#1f2937;background:#f3f4f6}*{box-sizing:content-box}
/* قانون کارت با عرض نهایی 240px را بساز */