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

 

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

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

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

28م مهر 1403

مطالعه بیشتر

الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها

الگوهای رایج برنامه‌نویسی ناهمگام در جاوا اسکریپت: Promise.race، Promise.all، و Promise.any کامل و مثال‌ها

1م آبان 1403

مطالعه بیشتر

آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا

آموزش تکنیک‌های پیشرفته CSS Grid: طراحی ساختارهای پیچیده و واکنش‌گرا

18م شهریور 1402

مطالعه بیشتر

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

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

1م آبان 1403

مطالعه بیشتر

آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت

آموزش کامنت‌ها و کاراکترهای خاص در HTML و CSS: نحوه استفاده و مدیریت

23م مرداد 1402

مطالعه بیشتر

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

مقدمه‌ای بر CSS و نحوه اضافه کردن آن به HTML: راهنمای ساده و کامل برای مبتدیان

4م شهریور 1402

مطالعه بیشتر

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

آموزش Pseudo-classes در CSS: تغییر استایل عناصر با hover، focus و nth-child

10م شهریور 1402

مطالعه بیشتر

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

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

22م مرداد 1402

مطالعه بیشتر

آموزش تگ‌های متنی اولیه در HTML: استایل‌دهی و قالب‌بندی متن‌ها

آموزش تگ‌های متنی اولیه در HTML: استایل‌دهی و قالب‌بندی متن‌ها

18م مرداد 1402

مطالعه بیشتر

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

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

9م آبان 1403

مطالعه بیشتر

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

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

23م مرداد 1402

مطالعه بیشتر

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

آموزش CSS Blend Modes: ادغام رنگ‌ها و تصاویر برای طراحی وب جذاب

9م آبان 1403

مطالعه بیشتر

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