Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

CSS Grid'de explicit ve implicit grid kavramlarını anlamak için oluşturduğum basit görsel şablonum

✖ Kapat
Duyuru
✖ Kapat
Duyuru

byteon

Üye
Katılım
14 Mart 2026
Mesajlar
53
Merhaba arkadaşlar, bugün CSS Grid ile uğraşırken kafamı bir hayli karıştıran bir konuyu, explicit ve implicit grid ayrımını netleştirmek için yaptığım küçük bir görselleştirme şablonundan bahsedeceğim. Özellikle grid dışına taşan (veya taşmasını beklediğim) öğelerin davranışlarını kontrol etmek istediğimde, bu iki kavramı anlamak işleri inanılmaz kolaylaştırdı. Siz de benim gibi "Bu eleman neden buraya atıldı?" diye düşünüyorsanız, bu yazı tam size göre.

🔥 Kafa Karışıklığının Kaynağı

İşin özü şu: Explicit grid, bizim grid-template-rows ve grid-template-columns ile tanımladığımız, kesin çizgileri belli olan ızgaramız. Implicit grid ise, bu tanımlı alanların dışına çıkmak zorunda kalan grid öğeleri için tarayıcının otomatik olarak oluşturduğu ek satır ve sütunlar. Bu implicit alanların boyutlarını kontrol etmezsek, öğelerimiz istemediğimiz şekilde, varsayılan auto boyutlarda sıralanıyor ve tasarımımız bozulabiliyor.

🧱 Görsel Şablonumun Yapı Taşları

Anlamayı kolaylaştırmak için iki div'den oluşan basit bir şablon hazırladım. Birinci div, explicit grid'imizi temsil ediyor ve sabit boyutlara sahip. İkinci div ise, içine yerleştirdiğim fazla sayıdaki öğe ile implicit grid'in nasıl oluştuğunu gösteriyor.

İşte temel HTML yapısı:

HTML:
<div class="container">
  <h3>Explicit Grid (Bizim Tanımladığımız)</h3>
  <div class="explicit-grid">
    <div class="grid-item">1</div>
    <div class="grid-item">2</div>
    <div class="grid-item">3</div>
    <div class="grid-item">4</div>
  </div>

  <h3>Implicit Grid (Tarayıcının Oluşturduğu)</h3>
  <div class="implicit-grid">
    <div class="grid-item">1</div>
    <div class="grid-item">2</div>
    <div class="grid-item">3</div>
    <div class="grid-item">4</div>
    <div class="grid-item">5</div>
    <div class="grid-item">6</div>
    <div class="grid-item">7</div>
    <div class="grid-item">8</div>
  </div>
</div>

🎨 CSS ile Kontrolü Ele Alıyoruz

Şimdi sihirli kısma, CSS'e geçelim. İki grid konteynerini de yan yana görmek için ana container'ı flex yapıyorum. Asıl önemli kısım, .implicit-grid sınıfında yaptığım tanımlamalar.

CSS:
.container {
  display: flex;
  gap: 40px;
  font-family: sans-serif;
}

/ Explicit Grid: Net olarak 2x2'lik bir ızgara tanımlıyorum /
.explicit-grid {
  display: grid;
  grid-template-columns: 120px 120px;
  grid-template-rows: 80px 80px;
  gap: 10px;
  padding: 15px;
  background-color: #f0f8ff;
  border: 2px dashed #3498db;
}

/ Implicit Grid: Sadece 2 sütun tanımlayıp, satırları tarayıcıya bırakıyorum /
.implicit-grid {
  display: grid;
  grid-template-columns: 120px 120px; / Sadece 2 explicit sütun /
  / grid-template-rows TANIMLANMADI! /
  grid-auto-rows: 60px; / İşte burada implicit satırların yüksekliğini kontrol ediyorum! /
  gap: 10px;
  padding: 15px;
  background-color: #fff0f5;
  border: 2px dashed #e74c3c;
}

/ Ortak grid öğe stilleri /
.grid-item {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: white;
  border-radius: 5px;
}

.explicit-grid .grid-item {
  background-color: #3498db;
}

.implicit-grid .grid-item {
  background-color: #e74c3c;
}

Buradaki altın anahtar, grid-auto-rows: 60px; satırı. Explicit olarak satır tanımlamadığım (grid-template-rows yazmadığım) için, 4. öğeden sonraki tüm öğeler implicit grid'e ait yeni satırlara yerleşiyor. Ve ben bu satırların yüksekliğini bu property ile 60px olarak sabitleyerek kontrol altına alıyorum. Aynı mantık grid-auto-columns ve grid-auto-flow property'leri ile sütunlar ve yerleşim yönü için de geçerli.

💎 Sonuç ve Yorum Sizde

Bu basit şablonu oluşturduktan sonra, grid-auto-rows değerini değiştirip tarayıcıda anında sonucu görmek, implicit grid kavramını beynime kazıdı. Artık dinamik içerikli grid'ler tasarlarken, explicit alanımın bittiği yerde implicit alanın nasıl davranacağını önceden planlayabiliyorum.

Siz CSS Grid'de implicit öğelerin yerleşimini kontrol etmek için hangi yöntemleri kullanıyorsunuz? grid-auto-flow property'sini dense değeri ile kullanarak boşlukları doldurmayı denediniz mi? Bu konudaki deneyimlerinizi ve farklı kullanım senaryolarınızı yorumlarda paylaşırsanız çok sevinirim!
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri