گرید ویو واکنش گرا (RWD Grid View)
«گرید ویو واکنش گرا» روشی برای چیدمان صفحه در ردیف ها و ستون هاست. این الگو با تغییر اندازه پنجره یا دستگاه، کوچک و بزرگ می شود و بنابراین جای گذاری عناصر را ساده و سازگار با موبایل و دسکتاپ می کند.
گرید ویو واکنش گرا چیست؟
بسیاری از صفحات وب بر پایه شبکه ساخته می شوند؛ یعنی صفحه به ردیف ها و ستون ها تقسیم می شود. یک گرید واکنش گرا معمولاً 6 یا 12 ستون دارد و هنگام تغییر اندازه مرورگر، به صورت سیال تغییر می کند.
شروع ساخت گرید ویو
ابتدا مطمئن شوید همه عناصر HTML دارای box-sizing از نوع border-box باشند تا پدینگ و بوردر در محاسبه عرض/ارتفاع لحاظ شود.
ریست اولیه CSS
* { margin: 0; box-sizing: border-box; }
نکته: برای شناخت بهتر box-sizing می توانید از پیوندهای مرجع در پایین بهره بگیرید.
CSS گرید ویو
در نمونه زیر ناحیه ها با grid-template-areas
نام گذاری شده اند: سربرگ، منو، اصلی، ستون راست و فوتر.
* { margin: 0; box-sizing: border-box; }
body { font-family: "Lucida Sans", sans-serif; }
.grid-container { display: grid; grid-template-areas: 'header header header header header header' 'menu main main main main right' 'footer footer footer footer footer footer'; gap: 10px; background-color: white; padding: 10px; }
.grid-container > div { padding: 10px; font-size: 16px; }
.item1 { grid-area: header; background-color: purple; text-align: center; color: #ffffff; }
.item1 > h1 { font-size: 40px; }
.item2 { grid-area: menu; }
.item2 ul { list-style-type: none; margin: 0; padding: 0; }
.item2 li { padding: 8px; margin-bottom: 7px; background-color: #33b5e5; color: #ffffff; }
.item2 li:hover { background-color: #0099cc; }
.item3 { grid-area: main; }
.item3 > h1 { font-size: 30px; margin-bottom: 7px; }
.item3 > p { margin-bottom: 7px; }
.item4 { grid-area: right; border: 2px solid #0099cc; background-color: white; padding: 15px; color: #000000; }
.item4 > h2 { font-size: 20px; padding-bottom: 10px; }
.item4 li { padding: 5px; margin-bottom: 5px; }
.item5 { grid-area: footer; background-color: #0099cc; color: #ffffff; text-align: center; }
هشدار: صفحه نمونه واکنش گراست؛ اما در عرض های بسیار کم ممکن است چیدمان ایده آل نباشد. در مرحله بعد با مدیا کوئری ها آن را بهینه کنید.
لینک های مرتبط
برای تنظیم پایه ای حتماً ویوپورت واکنش گرا را پیکربندی کنید. سپس با مدیا کوئری ها طرح خود را در نمایشگرهای کوچک اصلاح کنید. برای مرجع بیرونی نیز مبانی CSS Grid در MDN و راهنمای web.dev: Grid را ببینید.