آموزش CSS Grid در بوت استرپ

در این بخش به آموزش CSS Grid در بوت استرپ پرداخته می‌شود. سیستم گرید پیش‌فرض بوت استرپ، که بیش از یک دهه سابقه دارد، در بسیاری از پروژه‌ها مورد استفاده قرار گرفته و کارایی آن به‌صورت گسترده اثبات شده است. این سیستم در ابتدا بدون بهره‌گیری از قابلیت‌های مدرن CSS طراحی شده بود؛ اما امروزه مرورگرها از ویژگی‌های پیشرفته‌تری مانند CSS Grid پشتیبانی می‌کنند.

نحوه عملکرد CSS Grid در بوت استرپ 5

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

برای فعال‌سازی این قابلیت، لازم است ابتدا سیستم گرید کلاسیک را غیرفعال و CSS Grid را فعال نمایید. این تنظیمات از طریق متغیرهای Sass به شرح زیر قابل انجام است:

  • مقدار $enable-grid-classes را برابر false قرار دهید.

  • مقدار $enable-cssgrid را برابر true قرار دهید.

پس از انجام این تنظیمات:

  • کلاس .row را با .grid جایگزین کنید. کلاس .grid با اعمال display: grid ساختار گرید جدید را فعال می‌سازد.

  • به جای کلاس‌های .col-* از کلاس‌های جدید .g-col-* استفاده نمایید؛ زیرا در CSS Grid، ستون‌ها بر پایه ویژگی grid-column تعریف می‌شوند، نه عرض (width).

همچنین می‌توان اندازه ستون‌ها و فاصله میان آن‌ها را با استفاده از متغیرهای CSS مانند --bs-columns و --bs-gap در عنصر والد .grid به‌صورت سفارشی تنظیم کرد.

تفاوت‌های کلیدی CSS Grid با سیستم گرید کلاسیک بوت استرپ

در ادامه، تفاوت‌های مهم میان CSS Grid و گرید کلاسیک بوت استرپ را بررسی میکنیم:

  • ابزارهای فلکس در CSS Grid رفتار متفاوتی دارند و همان تأثیرگذاری پیشین را بر ستون‌ها ندارند.

  • به جای gutterها، باید از ویژگی gap استفاده کرد. این ویژگی مشابه margin عمل کرده و جایگزین padding افقی در سیستم گرید کلاسیک می‌باشد.

  • در CSS Grid، فاصله‌ها به‌صورت خودکار در هر دو جهت افقی و عمودی اعمال می‌شوند. برخلاف .row که از margin منفی استفاده می‌کند، کلاس .grid این ویژگی را ندارد و امکان استفاده از کلاس‌های margin برای تنظیم فاصله وجود ندارد.

  • برای تعریف تعداد ستون‌ها، استفاده از سبک‌های درون‌خطی یا سفارشی مانند style="--bs-columns: 3;" توصیه می‌شود، به جای استفاده از کلاس‌های آماده مانند row-cols-3.

  • در ساختارهای تو در تو، لازم است تعداد ستون‌ها برای هر نمونه‌ی .grid به‌صورت مستقل تعریف گردد.

ایجاد سه ستون مساوی با استفاده از CSS Grid

برای ایجاد سه ستون با عرض برابر در تمام اندازه‌های صفحه، می‌توان از کلاس .g-col-4 استفاده کرد. این کلاس باعث می‌شود که گرید به سه ستون مساوی تقسیم شود (زیرا ۱۲ تقسیم بر ۴ برابر با ۳ ستون است). همچنین امکان تنظیم چیدمان برای اندازه‌های مختلف نمایشگر با استفاده از کلاس‌های واکنش‌گرا نیز وجود دارد.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

طراحی واکنش‌گرا (Responsive)

برای تنظیم چیدمان صفحه در اندازه‌های مختلف نمایشگر، باید از کلاس‌های واکنش‌گرا استفاده شود. به‌عنوان مثال، می‌توان طراحی را با دو ستون در صفحه‌های کوچک آغاز کرد و سپس در اندازه‌های بزرگ‌تر، چیدمان را به سه ستون گسترش داد. این قابلیت به توسعه‌دهنده اجازه می‌دهد تجربه کاربری بهتری در دستگاه‌های مختلف ارائه دهد.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

چیدمان دو ستونه را در تمامی اندازه‌های صفحه با یکدیگر مقایسه کنید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

رفتن آیتم‌ها به خط بعد (Wrapping)

وقتی فضای افقی کافی برای نمایش آیتم‌های گرید وجود نداشته باشد، این آیتم‌ها به‌صورت خودکار به خط بعد منتقل می‌شوند. در این حالت، فاصله‌ها (gap) هم به‌صورت افقی و هم عمودی میان آیتم‌ها اعمال می‌شوند.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

استفاده از Start در CSS Grid

کلاس‌های Start در بوت استرپ، نسخه خلاصه‌ای از ویژگی‌های grid-column-start و grid-column-end در CSS Grid هستند. این کلاس‌ها برای ساخت قالب‌های گرید با مشخص کردن نقطه شروع و پایان ستون‌ها به کار می‌روند.

این کلاس‌ها معمولاً همراه با کلاس‌های ستونی برای تعیین اندازه و تراز ستون‌ها استفاده می‌شوند. مقداردهی این کلاس‌ها از عدد 1 آغاز می‌شود، زیرا مقدار 0 برای این ویژگی‌ها معتبر نیست.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

ستون های خودکار (Auto Columns) دربوت استرپ

اگر هیچ کلاسی روی آیتم های گرید اعمال نشود، بوت استرپ به‌صورت پیش فرض اندازه هر آیتم را به یک ستون در داخل .grid اختصاص می‌دهد. این رفتار باعث می‌شود آیتم ها به‌طور خودکار در ساختار گرید قرار بگیرند.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

می توان کلاس های مربوط به ستون را با این رفتار خودکار ترکیب کرد. این ترکیب به شما اجازه می دهد کنترل دقیق تری بر اندازه و موقعیت ستون ها در ساختار گرید داشته باشید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

تو در تو کردن گرید (Nesting)

سیستم CSS Grid در بوت استرپ امکان تو در تو کردن ساده گریدها را فراهم می‌کند. برخلاف سیستم گرید پیش‌فرض، در این ساختار تنظیمات اعمال‌شده بر روی ردیف‌ها، ستون‌ها و فاصله‌ها (gaps) به‌صورت خودکار به گریدهای داخلی نیز منتقل می‌شود.

برای پیاده‌سازی گرید تو در تو، می‌توان از سناریوی زیر استفاده کرد:

  • تعداد ستون‌ها در گرید اصلی با یک متغیر محلی CSS مانند --bs-columns: 3 بازنویسی می‌شود.

  • در ستون اول، ساختار auto-column حفظ می‌شود و هر ستون یک‌سوم از عرض کلی را اشغال می‌کند.

  • در ستون دوم، یک گرید تو در تو ایجاد شده و تعداد ستون‌های آن به ۱۲ (مقدار پیش‌فرض) تنظیم می‌شود.

  • ستون سوم هیچ آیتم داخلی ندارد.

در مقایسه با ساختار گرید ساده، این روش امکان ایجاد چیدمان‌های پیچیده‌تر و سفارشی‌سازی بیشتر را فراهم می‌کند.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

سفارشی‌سازی در CSS Grid بوت استرپ

برای سفارشی‌سازی تعداد ستون‌ها، ردیف‌ها و فاصله بین آن‌ها، می‌توان از متغیرهای محلی CSS استفاده کرد. این متغیرها امکان کنترل دقیق ساختار گرید را فراهم می‌کنند.

متغیر مقدار پیش‌فرض توضیح
--bs-rows 1 تعیین تعداد ردیف‌ها در قالب گرید
--bs-columns 12 تعیین تعداد ستون‌ها در قالب گرید
--bs-gap 1.5rem اندازه فاصله بین ستون‌ها (افقی و عمودی)

در صورتی که مقدار مشخصی برای این متغیرها تعریف نشده باشد، مقدار پیش‌فرض (fallback) استفاده خواهد شد. به‌عنوان مثال، var(--bs-rows, 1) تا زمانی که مقدار --bs-rows به‌صورت محلی تعریف نشده باشد، عدد ۱ را به عنوان مقدار پیش‌فرض در نظر می‌گیرد.

بدون استفاده از کلاس‌های گرید

در صورتی که کلاس‌های .g-col به آیتم‌های داخل .grid اعمال نشوند، این آیتم‌ها به‌صورت خودکار در گرید جای می‌گیرند و اندازه‌ آن‌ها متناسب با ساختار گرید تنظیم خواهد شد.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

ستون ها و فاصله ها (Columns and Gaps) در بوت استرپ

در این بخش، تعداد ستون ها و میزان فاصله بین آن‌ها را مطابق با مثال زیر تغییر می‌دهیم. این تنظیمات با استفاده از متغیرهای CSS انجام می‌شوند و امکان کنترل دقیق ساختار گرید را فراهم می‌کنند.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

برای تغییر تعداد ستون‌ها و اندازه فاصله بین آن‌ها در ساختار گرید، می‌توانید از متغیرهای CSS به صورت زیر استفاده کنید:

با این تنظیمات، گرید شامل ۱۰ ستون خواهد بود و فاصله بین ستون‌ها (در جهت افقی و عمودی) به ۱rem کاهش می‌یابد.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

افزودن ردیف‌ها (Adding Rows)

مثال زیر نحوه چیدمان مجدد ستون‌ها و افزایش تعداد ردیف‌ها را نشان می‌دهد. با استفاده از متغیر --bs-rows می‌توان تعداد ردیف‌های گرید را به‌دلخواه افزایش داد و چیدمان را به‌صورت عمودی گسترش داد.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

فاصله ها (Gaps) در بوت استرپ

برای تغییر فاصله عمودی بین ردیف‌ها، تنها کافی است مقدار row-gap را تنظیم کنید. با استفاده از ویژگی gap روی عنصر .grid، می‌توان row-gap (فاصله ردیف‌ها) و column-gap (فاصله ستون‌ها) را به‌صورت مستقل یا ترکیبی تغییر داد تا چیدمان موردنظر به‌دست آید.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

می‌توان برای فاصله‌های عمودی و افقی یک مقدار واحد یا یک جفت مقدار مشخص کرد. این کار را می‌توان با استفاده از استایل درون‌خطی (inline style) یا از طریق متغیر CSS --bs-gap انجام داد.

برای مثال:

در این مثال، مقدار اول (۱rem) فاصله عمودی (row-gap) و مقدار دوم (۲rem) فاصله افقی (column-gap) را مشخص می‌کند.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

Sass در CSS Grid بوت استرپ

یکی از محدودیت‌های CSS Grid در بوت استرپ این است که تعداد کلاس‌های تولیدشده در فایل CSS نهایی، بر اساس مقادیر متغیرهای Sass مانند $grid-columns و $grid-gutter-width از پیش تعیین شده است.

برای اعمال تغییر در این مقادیر، باید فایل‌های Sass را ویرایش و CSS نهایی را مجدداً کامپایل کنید.

برای انعطاف‌پذیری بیشتر و سفارشی‌سازی کلاس‌ها، توصیه می‌شود از استایل‌های درون‌خطی یا کدهای سفارشی استفاده نمایید.

همچنین می‌توان تعداد ستون‌ها، اندازه فاصله‌ها (gap) و اندازه ستون‌ها را با ترکیب استایل‌های سفارشی و کلاس‌های آماده CSS Grid مانند .g-col-4 تنظیم کرد.

با کپی کردن کد بالا در ویرایشگر آنلاین، میتوانید آن را اجرا کنید.

آنلاین امتحان کنید

5/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

پکیج جامع و پروژه محور ASP.NET MVC + طراحی فروشگاه اینترنتی فروش فایل
  • انتشار: ۲۸ اردیبهشت ۱۴۰۴

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

بازخوردهای خود را برای ما ارسال کنید