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

دسته : آموزش رایگان CSS

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

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

 

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

1م آبان 1403

مطالعه بیشتر

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var

آموزش متغیرهای سفارشی (Custom Properties) در CSS: نحوه تعریف و استفاده از var

18م شهریور 1402

مطالعه بیشتر

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

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

1م آبان 1403

مطالعه بیشتر

مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها

مدیریت رویدادها در جاوا اسکریپت: اضافه و حذف Event Listeners - آموزش جامع با مثال‌ها

2م آبان 1403

مطالعه بیشتر

آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب

آموزش استفاده از position در CSS: نحوه موقعیت‌دهی عناصر در صفحات وب

9م آبان 1403

مطالعه بیشتر

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

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

3م آبان 1403

مطالعه بیشتر

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

آموزش کار با flex-grow، flex-shrink و flex-basis در CSS Flexbox: مدیریت اندازه و فضای عناصر

11م آبان 1403

مطالعه بیشتر

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

کار با border و تنظیمات آن در CSS: مدیریت زوایای گرد با border-radius

9م آبان 1403

مطالعه بیشتر

آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها

آموزش Responsive Design با استفاده از Media Queries: طراحی واکنش‌گرا برای تمامی دستگاه‌ها

10م شهریور 1402

مطالعه بیشتر

آموزش توسعه و مدیریت پروژه‌های بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریم‌ورک‌های کاربردی

آموزش توسعه و مدیریت پروژه‌های بزرگ در جاوا اسکریپت: آشنایی با ابزارها و فریم‌ورک‌های کاربردی

4م آبان 1403

مطالعه بیشتر

آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها

آشنایی با Inheritance در CSS: اصول وراثت و مدیریت استایل‌ها

12م آبان 1403

مطالعه بیشتر

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

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

2م آبان 1403

مطالعه بیشتر

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