در حال بارگذاری...

کانتینر Grid در CSS

مقدمهٔ Grid والد را به شبکه تبدیل کرد. این درس روی کانتینر می‌ماند: track تعریف کنید، gap بگذارید، آیتم را داخل سلول تراز کنید، و وقتی فضای آزاد ماند کل شبکه را بسته‌بندی کنید. span آیتم و areaهای نام‌دار برای درس‌های Grid Items و Grid Areas می‌مانند.

جعبهٔ ابزار کانتینر grid

📊 کانتینر grid یک‌نگاهه

ویژگی کار روزمره
grid-template-columns اندازهٔ trackهای ستونی را می‌گذارد
grid-template-rows اندازهٔ trackهای ردیفی را می‌گذارد
gap فاصله بین trackها
justify-items / align-items هر آیتم را داخل سلولش تراز می‌کند (محور inline / block)
justify-content / align-content وقتی شبکه از کانتینر کوچک‌تر است کل grid را جابه‌جا می‌کند
grid-auto-flow ترتیب بسته‌بندی جای‌گذاری خودکار را کنترل می‌کند (row یا column)

اول trackها را بکشید. بعد ببینید سلول‌ها محتوایشان را چطور تراز کنند، و تازه بعدش فضای باقی دور کل شبکه چه رفتاری داشته باشد.

trackهای قالب — ستون و ردیف

grid-template-columns و grid-template-rows شبکه را اسکچ می‌کنند. برای boardهای روزمره fr، طول و repeat() را قاطی کنید.

ستون و ردیف با هم

css
.board {
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto 1fr auto;
min-height: 16rem;
}

gap — gutter را صادق نگه دار

gap (یا row-gap / column-gap) trackها را بدون ترفند margin روی هر فرزند فاصله می‌دهد.

gap روی کانتینر

css
.board {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1rem 1.25rem;
}

justify-items و align-items — داخل سلول

این‌ها هر آیتم را داخل سلولش تراز می‌کنند. justify-items روی محور inline؛ align-items روی محور block. با بسته‌بندی محتوا قاطی‌شان نکنید.

وسط‌چین آیتم در سلول

css
.board {
display: grid;
grid-template-columns: repeat(2, 8rem);
justify-items: center;
align-items: center;
gap: 0.75rem;
}

justify-content و align-content — بسته‌بندی شبکه

وقتی trackها از کانتینر کوچک‌ترند، ویژگی‌های content کل شبکه را جابه‌جا یا فاصله‌دار می‌کنند. برای تختهٔ آیکن که نباید تا ابد کش بیاید مفید است.

بسته‌بندی شبکه در فضای آزاد

css
.board {
display: grid;
grid-template-columns: repeat(3, 6rem);
justify-content: space-between;
align-content: start;
gap: 0.5rem;
min-height: 12rem;
}

عادت آرام کانتینر grid

اول قالب ستون و ردیف، بعد gap، بعد تراز آیتم داخل سلول، بعد اگر فضای آزاد ماند بسته‌بندی content. وقتی ترتیب جای‌گذاری خودکار مهم است به grid-auto-flow نگاهی بیندازید. span، شمارهٔ خط و areaهای نام‌دار را برای درس‌های بعدی Grid بگذارید.

پوستهٔ نام‌دار کانتینر

css
.shell {
display: grid;
grid-template-columns: 2fr 1fr;
grid-template-rows: auto 1fr;
gap: 1.25rem;
justify-items: stretch;
align-items: stretch;
}

خودتان امتحان کنید

  1. board با سه ستون 1fr و ردیف‌های auto 1fr auto بسازید.
  2. gap: 1rem اضافه کنید.
  3. محتوای سلول را با justify-items و align-items وسط کنید.
  4. یک board با track ثابت را با justify-content: space-between بسته‌بندی کنید.
  5. یک ویژگی بنویسید که برای Grid Items یا Grid Areas می‌گذارید.

اشتباه‌های رایج

  • قاطی کردن justify-items (داخل سلول) با justify-content (کل شبکه)
  • گذاشتن زودهنگام span آیتم یا نام area روی کانتینر
  • فقط ستون تعریف کردن و تعجب از ارتفاع تصادفی ردیف‌ها
  • آوردن عادت‌های grow فلکس روی کانتینر grid
  • این درس را کل ماژول Areas دانستن

خلاصه

  • ویژگی‌های کانتینر grid track، gutter و تراز را تعریف می‌کنند
  • grid-template-columns / rows شبکه را اسکچ می‌کنند
  • justify-items / align-items محتوا را داخل سلول تراز می‌کنند
  • justify-content / align-content شبکه را در فضای آزاد بسته‌بندی می‌کنند
  • span آیتم و areaهای نام‌دار در درس‌های بعدی Grid می‌آیند

🧠 دانش خود را بیازمایید

آماده شروع

دانش خود را بیازمایید

خود را با این آزمون تعاملی به چالش بکشید و ببینید موضوع را چقدر خوب درک کرده‌اید

❓
8
سوالات
🎯
70%
برای قبولی
♾️
∞
زمان
🔄
∞
تلاش‌ها

📝 دستورالعمل‌ها

  • هر سوال را با دقت بخوانید
  • بهترین پاسخ را برای هر سوال انتخاب کنید
  • می‌توانید آزمون را هر چند بار که می‌خواهید تکرار کنید
  • پیشرفت شما در بالا نمایش داده می‌شود