آموزش رایگان CSS

آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل

6م شهریور 1402 محراب حسن زاده
آموزش مفاهیم اولیه CSS Grid Layout: طراحی شبکه‌های پیچیده و واکنش‌گرا راهنمای کامل

CSS Grid Layout یکی از ابزارهای قدرتمند CSS برای ایجاد طراحی‌های شبکه‌ای در صفحات وب است. با استفاده از این ویژگی می‌توان طرح‌های پیچیده و واکنش‌گرا ایجاد کرد که به توسعه‌دهندگان امکان کنترل دقیق‌تری بر چیدمان عناصر می‌دهد. CSS Grid Layout در طراحی‌های مدرن بسیار محبوب است زیرا به طراحان این امکان را می‌دهد که بدون استفاده از فریم‌ورک‌های جانبی یا کدهای پیچیده CSS، چیدمان‌های منظم و انعطاف‌پذیر بسازند. در این مقاله، مفاهیم اصلی CSS Grid Layout و نحوه استفاده از آن برای ساختن شبکه‌های واکنش‌گرا را بررسی می‌کنیم.

 

CSS Grid Layout چیست؟

CSS Grid Layout یا به اختصار Grid، یک سیستم طراحی شبکه‌ای است که به شما امکان می‌دهد عناصر را به صورت ردیف‌ها و ستون‌ها تنظیم کنید. Grid از دو جزء اصلی تشکیل شده است:

  • Container: ظرف اصلی که ویژگی‌های Grid به آن اعمال می‌شود.

  • Items: عناصری که درون Grid Container قرار دارند و در شبکه‌ای که شما تعریف می‌کنید چیدمان می‌شوند.

 

ایجاد یک 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-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 برای اندازه‌دهی انعطاف‌پذیر

واحد fr به شما اجازه می‌دهد اندازه ستون‌ها یا ردیف‌ها را به صورت نسبی تعیین کنید. برای مثال:



.grid-container {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
}

 

در اینجا:

  • عرض ستون اول و سوم برابر و ستون دوم دو برابر ستون‌های دیگر است.

 

کنترل فضای بین عناصر با gap

ویژگی 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-column و grid-row می‌توانید Grid Items را به صورت افقی و عمودی گسترش دهید. این ویژگی‌ها تعیین می‌کنند که هر عنصر چند ستون یا ردیف را پوشش دهد.

مثال گسترش Grid Items



.item1 {
  grid-column: 1 / 3; /* از ستون 1 تا ستون 3 گسترش می‌یابد */
  grid-row: 1 / 2; /* فقط ردیف اول را پوشش می‌دهد */
}

 

در اینجا:

  • item1 دو ستون را اشغال می‌کند و از ستون اول تا سوم گسترش می‌یابد.

 

تراز کردن عناصر با justify-items و align-items

با استفاده از ویژگی‌های justify-items و align-items می‌توانید Grid Items را به صورت افقی و عمودی تراز کنید.

مثال تراز کردن عناصر


.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  justify-items: center; /* تراز افقی به مرکز */
  align-items: center; /* تراز عمودی به مرکز */
}

 

استفاده از template areas برای چیدمان‌های پیچیده

ویژگی 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

یکی از مزایای 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 از سه ستون به یک ستون تغییر می‌کند و طراحی مناسب برای صفحه نمایش‌های کوچک ایجاد می‌شود.

 

نکات و بهترین شیوه‌ها در CSS 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، می‌توانید طراحی‌های زیبایی خلق کرده و تجربه کاربری بهتری برای وب‌سایت‌های خود فراهم کنید.

 

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع
9م آبان 1403

استفاده از display در CSS: تغییر نحوه نمایش عناصر - راهنمای جامع

مطالعه بیشتر
آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل
4م مهر 1403

آموزش ایجاد، دسترسی و اصلاح آرایه‌ها در جاوا اسکریپت: راهنمای کامل

مطالعه بیشتر
مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی
11م آبان 1403

مدیریت ترتیب نمایش با z-index در CSS: آموزش کامل و کاربردی

مطالعه بیشتر
آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol
10م آبان 1403

آموزش استایل‌دهی لیست‌ها در CSS: طراحی و استایل‌دهی ul و ol

مطالعه بیشتر
آموزش دسترسی به المان‌های HTML با استفاده از جاوا اسکریپت: راهنمای کامل با مثال‌ها
2م آبان 1403

آموزش دسترسی به المان‌های HTML با استفاده از جاوا اسکریپت: راهنمای کامل با مثال‌ها

مطالعه بیشتر
آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)
4م تیر 1405

آموزش کامل حلقه foreach در PHP برای پیمایش آرایه‌ها (به زبان ساده)

مطالعه بیشتر
آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب
16م آبان 1403

آموزش ایجاد Transitions و انیمیشن‌های صفحه بارگذاری (Loader) در CSS: طراحی لودرهای جذاب

مطالعه بیشتر
آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب
29م مرداد 1402

آموزش استفاده از تگ‌های تصویری در HTML: نمایش و مدیریت تصاویر در صفحات وب

مطالعه بیشتر
آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی
2م آبان 1403

آموزش ایجاد و حذف المان‌های DOM به صورت داینامیک با جاوا اسکریپت: راهنمای جامع و کاربردی

مطالعه بیشتر
آموزش کامل دستورات شرطی در PHP: راهنمای جامع if، else و elseif
4م تیر 1405

آموزش کامل دستورات شرطی در PHP: راهنمای جامع if، else و elseif

مطالعه بیشتر
آموزش صفر تا صد ساخت ماشین حساب با جاوا اسکریپت (پروژه محور و کاربردی)
13م خرداد 1405

آموزش صفر تا صد ساخت ماشین حساب با جاوا اسکریپت (پروژه محور و کاربردی)

مطالعه بیشتر
آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر
3م آبان 1403

آموزش کار با Local Storage و Session Storage در جاوا اسکریپت: ذخیره‌سازی داده‌ها در مرورگر

مطالعه بیشتر

تمامی حقوق معتلق به ناشر سایت است و کپی از آن پیگرد قانونی دارد