در CSS، یکی از روشهای ساده که میتوان برای کشش یک عنصر به عرض کامل یا موجود صفحه استفاده کرد، تنظیم ویژگیهایی مانند width
یا max-width
است. اغلب اوقات نیاز داریم که عناصر وبسایت به گونهای باشند که با تغییر عرض صفحه یا پنجره مرورگر به طور خودکار تنظیم شوند. این نیاز به خصوص در طراحیهای پاسخگو یا ریسپانسیو نمایان میشود.
یکی از معمولترین راهها برای این کار استفاده از ویژگی width: 100%;
است. با این تنظیم، عنصر به تمام عرض والد خود کشیده میشود. این روش بسیار کاربری و ساده است، چرا که اکثر مرورگرها به خوبی از آن پشتیبانی میکنند. اما باید به خاطر داشت که اگر عنصر دارای padding
یا border
باشد، این موضوع میتواند باعث ایجاد اسکرول افقی ناخواسته شود.
برای جلوگیری از چنین مشکلاتی، میتوانید از box-sizing: border-box;
استفاده کنید. این ویژگی باعث میشود محاسبات عرض و ارتفاع شامل padding
و border
باشند. به این ترتیب، عرض کلی عنصر از مقدار اعلام شده بیشتر نخواهد شد، حتی اگر padding
یا border
وجود داشته باشد.
روش دیگر، استفاده از flexbox
است. اگر والد یک عنصر به صورت flex تنظیم شود، میتوان عنصر را با استفاده از flex: 1;
به گونهای تنظیم کرد که تمام فضاهای موجود در آن والد را پر کند. این روش مخصوصاً در مواقعی که نیاز به پشتیبانی از طراحیهای پیچیدهتر و ریسپانسیو دارید، مورد استفاده قرار میگیرد.
مثالهایی از کد CSS برای کشیدن یک عنصر به عرض موجود
<style>
.stretch {
width: 100%;
box-sizing: border-box;
}
.flex-container {
display: flex;
}
.flex-item {
flex: 1;
}
</style>
شرح خط به خط کد
.stretch
: تعیین کلاس برای کشیدن عنصر به عرض 100%width: 100%;
: تنظیم عرض کامل برای عنصرbox-sizing: border-box;
: محاسبه عرض با در نظر گرفتن padding
و border
.flex-container
: تعیین کلاس برای استفاده از مدول flex
display: flex;
: تنظیم نمایش به صورت flex
در والد.flex-item
: تعیین کلاس برای فرزندانی که باید کشیده شوندflex: 1;
: تنظیم فرزند برای پر کردن تمام فضای موجود در والد