بحث Grid در برابر Flexbox بیشتر سر و صداست تا دانش. این دو ابزار مکمل هماند. این درخت تصمیم همان است که خودم استفاده میکنم.
قانون سیثانیهای
- چیدمان یکبعدی (یک ردیف یا یک ستون) → Flexbox
- چیدمان دوبعدی (ردیف و ستون با هم) → Grid
کارتهایی که میپیچند
Flexbox انتخاب طبیعی است:
css
.card-row {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}
چیدمان مجلهای
Grid آنجا میدرخشد که ردیفها باید بین ستونها تراز بمانند:
css
.magazine {
display: grid;
grid-template-columns: repeat(12, 1fr);
gap: 1.5rem;
}
.magazine > .feature {
grid-column: span 8;
}
.magazine > .aside {
grid-column: span 4;
}
تراز کردن
place-items در Grid وسطچینکردن را بیزحمت میکند:
css
.center {
display: grid;
place-items: center;
}
جمعبندی
هر وقت دیدی با هکهای flex میخواهی چیزی را به پایین کارت بچسبانی، آن کارت را grid کن. هر وقت دیدی برای نوبار داری grid-template-columns: 1fr 1fr 1fr مینویسی، به flex برگرد. تیمات ازت تشکر میکند.