Ulu Önder Mustafa Kemal Atatürk'ü aramızdan ayrılışının 88. yılında saygı, minnet ve özlemle anıyoruz.

CSS Grid mi Flexbox mı? Hangisini ne zaman kullanmalı

elif.aydin Mid 18 saat önce · 1 görüntülenme

İkisi de modern tarayıcıların tamamında destekleniyor ve birbirinin rakibi değil. Kısa kural şu:

Flexbox tek boyutlu (bir satır ya da bir sütun), Grid iki boyutlu (satır ve sütun aynı anda) düzen içindir.

Flexbox ne zaman?

İçeriğin boyutu düzeni belirlesin istiyorsan: menü bağlantıları, buton grupları, bir kartın içindeki ikon + metin hizalaması.

.navbar {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.navbar .spacer { margin-left: auto; } /* sağa yasla */

Klasik "dikey ve yatay ortalama" da Flexbox'la iki satır:

.center {
  display: flex;
  justify-content: center;
  align-items: center;
}

Grid ne zaman?

Düzeni önce sen belirlemek istiyorsan: sayfa iskeleti, kart ızgaraları, form düzenleri.

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
}

Bu tek kural, media query yazmadan ekran genişliğine göre sütun sayısını kendisi ayarlar.

Sayfa iskeleti için grid-template-areas çok okunaklıdır:

.layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  grid-template-areas:
    "header header"
    "sidebar main"
    "footer footer";
}
@media (max-width: 768px) {
  .layout {
    grid-template-columns: 1fr;
    grid-template-areas: "header" "main" "sidebar" "footer";
  }
}

Birlikte kullanmak

En yaygın desen: dış iskelet Grid, iç bileşenler Flexbox. Örneğin kart ızgarası Grid ile, her kartın içindeki başlık–etiket–buton hizası Flexbox ile.

Sık yapılan hatalar

  • Ögeler arası boşluk için hâlâ margin hesaplamak: ikisinde de gap var.
  • Flex ögelerinin taşması: uzun metinli öğeye min-width: 0 ver.
  • Grid'de sabit px sütunlar: fr, minmax() ve auto-fill/auto-fit esnekliğini kullan.

Aklınızda kalan zor bir düzen varsa paylaşın, birlikte Grid ya da Flex çözümünü çıkaralım.

0

0 cevap

Henüz cevap yok. İlk cevabı sen yaz.

Cevap yaz

Cevap yazmak için giriş yapmalısın.

Konu bilgisi
  • Açılış10.11.2026
  • Son etkinlik18 saat önce
  • Cevap0
  • Görüntülenme1
  • Beğeni0
Yeni konu aç