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

 

پرسش و پاسخ

نظری یافت نشد

مطالب مشابه

جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام
5م آبان 1403

جمع‌بندی، مرور مطالب و پروژه نهایی: ایجاد یک اپلیکیشن وب کامل با جاوا اسکریپت - راهنمای گام به گام

مطالعه بیشتر
مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی
30م مهر 1403

مدیریت خطاها در Async/Await و Promises در جاوا اسکریپت: راهنمای کامل با مثال‌های عملی

مطالعه بیشتر
آموزش توسعه بازی‌های ساده با استفاده از جاوا اسکریپت و Canvas API: راهنمای گام به گام
5م آبان 1403

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

مطالعه بیشتر
معرفی جاوا اسکریپت و نحوه استفاده از آن برای توسعه وب تعاملی: راهنمای جامع
27م شهریور 1402

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

مطالعه بیشتر
کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب
11م آبان 1403

کار با فیلترهای CSS: آموزش استفاده از blur، brightness و contrast برای افکت‌های تصویری جذاب

مطالعه بیشتر
آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام
3م آبان 1403

آموزش ساخت یک گالری تصویر با استفاده از جاوا اسکریپت: راهنمای گام به گام

مطالعه بیشتر
JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد
28م شهریور 1402

JSX و رندرینگ مؤثر در React.js: بهینه‌سازی کامپوننت‌ها و بهبود عملکرد

مطالعه بیشتر
تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور
21م آذر 1404

تفاوت Data و Computed Properties در Vue.js | آموزش کاربردی و مثال‌محور

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

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

مطالعه بیشتر
آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال
23م آذر 1404

آموزش Directive‌ های Vue.js | استفاده از v-model، v-bind و v-show با مثال

مطالعه بیشتر
آموزش جامع حلقه‌های for و while در جاوا اسکریپت: نحوه استفاده و کاربردها
2م بهمن 1402

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

مطالعه بیشتر
چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان
2م مهر 1402

چگونه اسکریپت‌های ساده جاوا اسکریپت را در مرورگر بنویسیم و اجرا کنیم: راهنمای کامل برای مبتدیان

مطالعه بیشتر

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