دسته : آموزش رایگان CSS
CSS Grid Layout یکی از ابزارهای قدرتمند CSS برای ایجاد طراحیهای شبکهای در صفحات وب است. با استفاده از این ویژگی میتوان طرحهای پیچیده و واکنشگرا ایجاد کرد که به توسعهدهندگان امکان کنترل دقیقتری بر چیدمان عناصر میدهد. CSS Grid Layout در طراحیهای مدرن بسیار محبوب است زیرا به طراحان این امکان را میدهد که بدون استفاده از فریمورکهای جانبی یا کدهای پیچیده CSS، چیدمانهای منظم و انعطافپذیر بسازند. در این مقاله، مفاهیم اصلی CSS Grid Layout و نحوه استفاده از آن برای ساختن شبکههای واکنشگرا را بررسی میکنیم.
CSS Grid Layout یا به اختصار Grid، یک سیستم طراحی شبکهای است که به شما امکان میدهد عناصر را به صورت ردیفها و ستونها تنظیم کنید. Grid از دو جزء اصلی تشکیل شده است:
Container: ظرف اصلی که ویژگیهای Grid به آن اعمال میشود.
Items: عناصری که درون Grid Container قرار دارند و در شبکهای که شما تعریف میکنید چیدمان میشوند.
برای تعریف یک Grid، باید display عنصر اصلی یا Container را به مقدار grid تغییر دهید. این کار باعث میشود عنصر به Grid Container تبدیل شود و تمام فرزندان آن به عنوان Grid Items در نظر گرفته شوند.
مثال ساده از Grid Container
< div class="grid-container" >
< div class="item" > 1 < / div >
< div class="item" > 2 < / div >
< div class="item" > 3 < / div >
< div class="item" > 4 < / div >
< / div >
.grid-container {
display: grid;
gap: 10px; /* فاصله بین عناصر */
}
در این مثال، grid-container یک Grid Container است و itemها به عنوان Grid Items در نظر گرفته میشوند.
برای مشخص کردن تعداد و اندازه ستونها و ردیفها، از grid-template-columns و grid-template-rows استفاده میکنیم.
مثال تعریف ستونها و ردیفها
.grid-container {
display: grid;
grid-template-columns: 200px 200px 200px;
grid-template-rows: 150px 150px;
}
در اینجا:
سه ستون با عرض 200 پیکسل و دو ردیف با ارتفاع 150 پیکسل تعریف شدهاند.
Grid Container به شکلی ساخته شده که شامل ۳ ستون و ۲ ردیف خواهد بود.
واحد fr به شما اجازه میدهد اندازه ستونها یا ردیفها را به صورت نسبی تعیین کنید. برای مثال:
.grid-container {
display: grid;
grid-template-columns: 1fr 2fr 1fr;
}
در اینجا:
عرض ستون اول و سوم برابر و ستون دوم دو برابر ستونهای دیگر است.
ویژگی gap برای تعیین فضای بین ستونها و ردیفها در Grid استفاده میشود. این ویژگی به جای grid-row-gap و grid-column-gap معرفی شده و به راحتی فضای بین همه Grid Items را تنظیم میکند.
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 20px;
}
در اینجا، فاصله 20 پیکسل بین همه ستونها و ردیفها اعمال میشود.
با استفاده از grid-column و grid-row میتوانید Grid Items را به صورت افقی و عمودی گسترش دهید. این ویژگیها تعیین میکنند که هر عنصر چند ستون یا ردیف را پوشش دهد.
مثال گسترش Grid Items
.item1 {
grid-column: 1 / 3; /* از ستون 1 تا ستون 3 گسترش مییابد */
grid-row: 1 / 2; /* فقط ردیف اول را پوشش میدهد */
}
در اینجا:
item1 دو ستون را اشغال میکند و از ستون اول تا سوم گسترش مییابد.
با استفاده از ویژگیهای justify-items و align-items میتوانید Grid Items را به صورت افقی و عمودی تراز کنید.
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
justify-items: center; /* تراز افقی به مرکز */
align-items: center; /* تراز عمودی به مرکز */
}
ویژگی grid-template-areas امکان تعریف یک چیدمان بصری را با استفاده از نامهای مناطق فراهم میکند. این ویژگی برای طراحیهای پیچیده و کاربردی بسیار مفید است.
مثال استفاده از grid-template-areas
< div class="grid-container" >
< div class="header" > Header < / div >
< div class="sidebar" > Sidebar < / div >
< div class="content" > Content < / div >
< div class="footer" > Footer < / div >
< / div >
.grid-container {
display: grid;
grid-template-columns: 1fr 3fr;
grid-template-rows: auto 1fr auto;
grid-template-areas:
"header header"
"sidebar content"
"footer footer";
gap: 10px;
}
.header {
grid-area: header;
}
.sidebar {
grid-area: sidebar;
}
.content {
grid-area: content;
}
.footer {
grid-area: footer;
}
در اینجا:
مناطق header، sidebar، content و footer تعریف شده و با استفاده از grid-template-areas به یک چیدمان منظم و واضح تبدیل شدهاند.
یکی از مزایای CSS Grid این است که به راحتی میتوان طراحیهای واکنشگرا ایجاد کرد. با استفاده از media queries میتوانید طراحی Grid خود را برای اندازههای مختلف صفحه تغییر دهید.
مثال طراحی واکنشگرا
.grid-container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 10px;
}
@media (max-width: 768px) {
.grid-container {
grid-template-columns: 1fr;
}
}
در اینجا:
زمانی که عرض صفحه کمتر از 768 پیکسل باشد، Grid از سه ستون به یک ستون تغییر میکند و طراحی مناسب برای صفحه نمایشهای کوچک ایجاد میشود.
استفاده از واحد fr: برای ایجاد طراحیهای انعطافپذیر، از واحد fr به جای پیکسل استفاده کنید.
استفاده از grid-template-areas برای طراحیهای پیچیده: grid-template-areas چیدمانهای پیچیده را سادهتر و خواناتر میکند.
تست واکنشگرایی: اطمینان حاصل کنید که طرح شما در اندازههای مختلف صفحه به درستی نمایش داده میشود.
ترکیب CSS Grid و Flexbox: در پروژههای بزرگ، از ترکیب CSS Grid و Flexbox برای بهینهسازی چیدمان استفاده کنید. Flexbox برای چیدمان داخل Grid Items و Grid برای چیدمان کلی مناسب است.
CSS Grid Layout یک ابزار بسیار قدرتمند و منعطف برای ایجاد طراحیهای شبکهای پیچیده و واکنشگرا است. با درک و استفاده از ویژگیهای grid-template-columns، grid-template-rows، grid-template-areas و ترکیب آنها با مفاهیم واکنشگرایی، میتوانید چیدمانهای حرفهای و کاربرپسند ایجاد کنید. با تمرین و آشنایی بیشتر با CSS Grid، میتوانید طراحیهای زیبایی خلق کرده و تجربه کاربری بهتری برای وبسایتهای خود فراهم کنید.
نظری یافت نشد
معرفی DOM و اصول آن در جاوا اسکریپت: راهنمای جامع برای مبتدیان
1م آبان 1403
مطالعه بیشتر
آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var
18م شهریور 1402
مطالعه بیشتر
آموزش اصول Web APIs و نحوه استفاده از آنها در جاوا اسکریپت: راهنمای کامل با مثالها
1م آبان 1403
مطالعه بیشتر
مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثالها
2م آبان 1403
مطالعه بیشتر
آموزش استفاده از position در CSS: نحوه موقعیتدهی عناصر در صفحات وب
9م آبان 1403
مطالعه بیشتر
آموزش کار با رویدادهای فرم و اعتبارسنجی فرمها در جاوا اسکریپت: راهنمای جامع
3م آبان 1403
مطالعه بیشتر
آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر
11م آبان 1403
مطالعه بیشتر
کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius
9م آبان 1403
مطالعه بیشتر
آموزش Responsive Design با استفاده از Media Queries: طراحی واکنشگرا برای تمامی دستگاهها
10م شهریور 1402
مطالعه بیشتر
آموزش توسعه و مدیریت پروژههای بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریمورکهای کاربردی
4م آبان 1403
مطالعه بیشتر
آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایلها
12م آبان 1403
مطالعه بیشتر
آموزش ایجاد و حذف المانهای DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403
مطالعه بیشتر
تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد