CSS Grid qanday ishlaydi?

MiddleCSS #css #grid #layout

Savol

CSS Grid Flexbox'dan nimasi bilan farq qiladi va undan qanday foydalanish kerak?

Qisqa javob

Grid — ikki o'lchamli joylashtirish modeli: bir vaqtning o'zida ham qatorlarni, ham ustunlarni boshqaradi, shu sababli murakkab sahifa maketlari uchun mos keladi.

Batafsil javob

Konteynerning asosiy xususiyatlari (display: grid):

  • grid-template-columns / grid-template-rows — ustunlar/qatorlar o'lchamlarini belgilaydi (1fr, repeat(3, 1fr), minmax()).
  • gap — kataklar orasidagi otstuplar.
  • grid-template-areas — deklarativ joylashtirish uchun nomlangan hududlar.
  • place-items — align-items + justify-items uchun qisqartma.

fr (fraction) birligi bo'sh joyni proportsional taqsimlaydi — bu Grid'gacha oddiy CSS'da yetishmayotgan narsa edi.

Elementlar grid-column: span 2 orqali bir nechta katakni aniq egallashi yoki grid-area orqali aniq hududni ko'rsatishi mumkin.

Misol

.layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-areas:
    "sidebar header"
    "sidebar main";
  gap: 16px;
}

.sidebar { grid-area: sidebar; }
.header  { grid-area: header; }
.main    { grid-area: main; }

Qo'shimcha savollar

  • Grid'dagi yashirin (implicit) treklar nima?
  • minmax() va auto-fit/auto-fill qanday ishlaydi?
  • Bitta loyihada Grid va Flexbox'ni birlashtirib ishlatish mumkinmi?

Bog'liq savollar