CSS · 5/8
Flexbox ile yan yana dizmek
Flexbox ile bir satırın hizasını ve dar ekranda sarılmasını yönetmek.
Önerilen çalışma: 25–45 dakika; örnekleri kendin uygula. Süre kişiye göre değişir.
Bu sayfada · 9 başlık
Başlamadan önce
Önceki dersteki örneği çalıştırmış olman ve dosya/çıktı ayrımını biliyor olman yararlı.
Öğrenme sırası: konuyu oku → çıktıyı tahmin et → örneği değiştir → alıştırmayı çöz → cevabını gerekçelendir.

Videoyla adım adım izle
Türkçe açıklamalı sessiz görsel anlatım. Sesli ders veya kesintisiz ekran kaydı değildir. Duraklatıp kendi ortamında uygula.
Video bölümleri ve tam metin
Flexbox ile yan yana dizmek
Flexbox ile bir satırın hizasını ve dar ekranda sarılmasını yönetmek.
Kavramı kur
Flexbox, bir kapsayıcının doğrudan çocuklarını tek ana eksen üzerinde düzenler. display:flex verdiğin öğe kapsayıcıdır; onun çocukları flex öğeleri olur. Ana eksen varsayılan olarak yataydır. justify-content ana eksen boyunca dağılımı, align-items ona dik eksende hizalamayı kontrol eder.
Neden böyle çalışıyor?
Birden çok kartı yan yana dizdiğinde toplam genişlik dar ekrana sığmayabilir. flex-wrap:wrap yeni satıra geçmeye izin verir; gap öğeler arasındaki düzenli boşluğu oluşturur. Her öğeye ayrı margin yazmak yerine kapsayıcıda gap kullanmak ilk ve son öğe boşluklarını daha anlaşılır yönetir.
Çalışma sırası
Bir satırda uzun metin olması, beklemediğin minimum genişlikler doğurabilir. Flex öğelerinde min-width:0 veya uzun kelimeler için uygun kırılma kuralı gerekebilir. Önce hangi öğenin genişlediğini ölç; sonra sadece o öğeyi düzelt. Her kutuya rastgele width vermek esnek yerleşimin amacını bozar.
İkinci örnek · 1
display:flex yalnızca doğrudan çocukların yerleşimini düzenler. Kodun tamamı yazılı derste bulunur.
Kod
<style>
.satir { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.kart { flex:1 1 160px; min-width:0; padding:16px; background:#eef2ff; }
</style>
<div class="satir"><div class="kart">HTML</div><div class="kart">CSS</div><div class="kart">JavaScript</div></div>Beklenen sonucu oku
align-items:center farklı yükseklikte öğeleri çapraz eksende ortalar.
Beklenen çıktı: Geniş ekranda yan yana, dar ekranda saran üç kart.
Bir değeri sen değiştir
Üç kartı yan yana diz ve aralarına gap ekle. Bir kartın metnini uzat; align-items değerlerini karşılaştır.
Hata nereden gelir?
flex kuralını kapsayıcı yerine çocuklara veya tersine koymak beklenen etkiyi vermez; görevleri ayır.
Kendi çözümünü kur
Ekranı daralt; flex-wrap kapalıyken ve açıkken farkı gözlemle. flex:1 1 160px esneme, küçülme ve başlangıç boyutunu tek kuralda belirtir.
Çözüm varyasyonu · 1
Önce kendi denemeni yap; sonra bu varyasyonun girdileri ile sonucunu karşılaştır.
Kod
<style>.grup{display:flex;flex-wrap:wrap;gap:10px}.oge{flex:1 1 140px;min-width:0;padding:14px;background:#e0f2fe}</style>
<div class="grup"><div class="oge">Bir</div><div class="oge">İki</div></div>Kendini kontrol et
justify-content varsayılan yatay flex düzeninde hangi ekseni yönetir? Yanıt: Ana ekseni, yani varsayılan düzende yatay dağılımı yönetir.
Beklenen çıktı: İki esnek öğe; alan azaldığında yeni satıra geçebilir.
Konu anlatımı
Flexbox, bir kapsayıcının doğrudan çocuklarını tek ana eksen üzerinde düzenler. display:flex verdiğin öğe kapsayıcıdır; onun çocukları flex öğeleri olur. Ana eksen varsayılan olarak yataydır. justify-content ana eksen boyunca dağılımı, align-items ona dik eksende hizalamayı kontrol eder.
Birden çok kartı yan yana dizdiğinde toplam genişlik dar ekrana sığmayabilir. flex-wrap:wrap yeni satıra geçmeye izin verir; gap öğeler arasındaki düzenli boşluğu oluşturur. Her öğeye ayrı margin yazmak yerine kapsayıcıda gap kullanmak ilk ve son öğe boşluklarını daha anlaşılır yönetir.
Bir satırda uzun metin olması, beklemediğin minimum genişlikler doğurabilir. Flex öğelerinde min-width:0 veya uzun kelimeler için uygun kırılma kuralı gerekebilir. Önce hangi öğenin genişlediğini ölç; sonra sadece o öğeyi düzelt. Her kutuya rastgele width vermek esnek yerleşimin amacını bozar.
İlk örneği oku ve dene
Flexbox ile yan yana dizmek
display: flex içindeki öğeleri yan yana dizer. gap aralarındaki boşluğu, justify-content: center ortalamayı sağlar. border-radius köşeleri yuvarlar.
<style>
.menu {
display: flex;
gap: 12px;
justify-content: center;
}
.menu a {
background-color: #6366f1;
color: white;
padding: 8px 16px;
border-radius: 999px;
text-decoration: none;
}
</style>
<nav class="menu">
<a href="#">Ana Sayfa</a>
<a href="#">Diller</a>
<a href="#">Araçlar</a>
</nav>
▶ Sonuç
Ortada yan yana duran, yuvarlak köşeli üç mor menü butonu görünür.
Adım adım neden böyle çalışıyor?
- display:flex yalnızca doğrudan çocukların yerleşimini düzenler.
- gap çocuklar arasındaki boşluktur; dış kenar boşluğu değildir.
- flex-wrap satır yetmediğinde öğeleri aşağı taşır.
- align-items:center farklı yükseklikte öğeleri çapraz eksende ortalar.
İkinci çözümlü örnek
Flexbox ile bir satırın hizasını ve dar ekranda sarılmasını yönetmek.
<style>
.satir { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.kart { flex:1 1 160px; min-width:0; padding:16px; background:#eef2ff; }
</style>
<div class="satir"><div class="kart">HTML</div><div class="kart">CSS</div><div class="kart">JavaScript</div></div>
▶ Sonuç
Geniş ekranda yan yana, dar ekranda saran üç kart.
Kolaydan zora sen dene
- Üç kartı yan yana diz ve aralarına gap ekle.
- Bir kartın metnini uzat; align-items değerlerini karşılaştır.
- Ekranı daralt; flex-wrap kapalıyken ve açıkken farkı gözlemle.
İpucunu aç
flex:1 1 160px esneme, küçülme ve başlangıç boyutunu tek kuralda belirtir.
Üç görevin açıklamalı çözümünü oku
- Kapsayıcıda display:flex ve gap; çocuklarda uygun esneme kur.
- align-items çapraz ekseni değiştirir; uzun metin için min-width:0 gerekebilir.
- wrap açıkken öğeler yeni satıra geçebilir; kapalıyken küçülme veya taşma sorununu ölç.
Bir çözüm varyasyonu gör
Çözüm varyasyonu
Önce kendi görevlerini dene. Bu varyasyonda girdi ve sonuçları karşılaştır.
<style>.grup{display:flex;flex-wrap:wrap;gap:10px}.oge{flex:1 1 140px;min-width:0;padding:14px;background:#e0f2fe}</style>
<div class="grup"><div class="oge">Bir</div><div class="oge">İki</div></div>
▶ Sonuç
İki esnek öğe; alan azaldığında yeni satıra geçebilir.
Yaygın hata ve çözümü
- flex kuralını kapsayıcı yerine çocuklara veya tersine koymak beklenen etkiyi vermez; görevleri ayır.
- Sabit genişlikleri padding ile toplarken box-sizing kuralını unutma.
Kendini değerlendir
Ezberlemeden açıklayabiliyor musun?
justify-content varsayılan yatay flex düzeninde hangi ekseni yönetir?
Açıklamalı yanıt
Ana ekseni, yani varsayılan düzende yatay dağılımı yönetir.
Kendi çözümünde bir girdiyi değiştir. Çalıştırmadan önce beklenen sonucu yaz; gerçek sonuçla karşılaştır ve fark varsa hangi satırdan kaynaklandığını açıkla.
Kaynak ve çalışma ortamı
Örnekler küçük öğretim senaryolarıdır. Java/C#/PHP/Swift çalışma ortamını kendi cihazında ayrıca doğrula; yazılı sonuçlar beklenen davranışı açıklar.
Resmî dil belgeleriBu içerik işine yaradı mı?
Görüşünü aşağıdan işaretleyebilir ve varsa notunu bırakabilirsin.