Teknoloji ipuçlarını kendin uygula
İçerik
Son yazılar
Biz kimiz
Yazılım Atölyesi, adım adım teknoloji rehberleriyle kendi başına öğrenip uygulama yapmak isteyenlere yardımcı olur. Pratik ipuçları, araç önerileri ve çözümler bulacaksınız.

CSS Grid ve Flexbox Pratik Uygulamalar

Duyarlı tasarım artık ek bir özellik değil, temel beklenti. İyi haber şu: modern CSS ile bunu medya sorgularına boğulmadan yapabilirsin. Grid ve Flexbox birlikte kullanıldığında, tarayıcıya "şu alan bu kadar yer istiyor" demen yeterli oluyor. Gerisini tarayıcı hesaplıyor.

Aşağıdaki adımları boş bir HTML dosyasında dene. Tek bir div, birkaç kart, bir de kenar çubuğu yeter. Her satırı yazdıktan sonra pencereyi daralt, ne olduğunu gör. Bu iş okumakla değil, sürükleyerek öğreniliyor.

Grid ile Sayfa İskeletini Kurmak

Grid iki boyutlu düşünür: satır ve sütun. Sayfanın ana yerleşimi için ideal. Header, sidebar, içerik, footer gibi büyük blokları Grid'e ver.

auto-fit ve minmax ikilisi

Bir css responsive layout kurmanın en hızlı yolu şu tek satır:

Ne yapar? Kutuların en az 260 piksel olmasını garantiler. Sığdıkça yeni sütun açar, sığmayınca alta atar. Medya sorgusu yazmadın, kırılma noktası tanımlamadın.

İki varyant arasındaki fark önemli:

DeğerDavranış
auto-fitBoş sütunları çöker, mevcut kartlar genişler
auto-fillBoş sütunları korur, kartlar sabit kalır

Kart galerisi yapıyorsan auto-fit. Hizalamanın bozulmasını istemiyorsan auto-fill.

Named areas ile okunabilir yerleşim

Karmaşık sayfalarda sütun numarası saymak yorucu. Alanlara isim ver:

HTML'e dokunmadan sıralamayı değiştirdin. Bu, kaynak sırasını erişilebilirlik için mantıklı tutmanı sağlar.

Kırılma noktasını içeriğe göre seç

768px gibi cihaz efsanelerine bağlanma. Pencereyi daralt, tasarım nerede çirkinleşiyorsa oraya bir @media (min-width: ...) koy. Mobile-first çalış: temel stiller tek sütun olsun, geniş ekran için ekleme yap. Böylece küçük ekranda tarayıcı daha az kural işler.

Flexbox ile Bileşen İçini Düzenlemek

Grid iskelet, Flexbox ise kas. Tek bir eksende sıralanan şeyler için Flexbox daha rahat: navigasyon, buton grupları, kart içi başlık-metin-etiket dizilimi.

Sarmalanan navigasyon

Menüyü hamburger'a çevirmeden önce şunu dene:

  1. display: flex; ve flex-wrap: wrap;
  2. gap: 1rem; — margin hesabı yapmaktan kurtarır
  3. justify-content: space-between; logo solda, linkler sağda

Yer kalmadığında linkler alt satıra iner. Çoğu blog ve dokümantasyon sitesi için bu yeterli.

flex: 1 1 0 mantığını çözmek

Kısaltmayı sırayla oku: grow, shrink, basis.

Kartlar yan yana eşit görünmüyorsa sebebi genelde flex-basis: auto. İçerik uzunluğu genişliği belirlemeye başlar. flex: 1 1 0; yaz, eşitlenir.

Kartları dipten hizalamak

Kart alt kısmındaki butonun hep aynı hizada durmasını istiyorsan:

Sabit yükseklik vermeye gerek yok. Bu numara, farklı uzunlukta metinlerde tasarımı kurtarır.

Taşmaları önleyen küçük ayarlar

Hangisini Ne Zaman?

DurumTercih
Sayfa iskeleti, iki boyutlu hizalamaGrid
Tek eksende dizilim, değişken sayıda öğeFlexbox
Kart ızgarasıGrid + kart içinde Flexbox
Bileşen kendi genişliğine tepki verecekContainer query

Container query, bir bileşenin ekran değil kapsayıcı genişliğine göre değişmesini sağlar. Kapsayıcıya container-type: inline-size; ver, sonra @container (min-width: 480px) yaz. Aynı kart bileşenini hem geniş içerik alanında hem dar kenar çubuğunda kullanabilirsin.

Önce içeriği yaz, sonra düzeni kur.
© 2026 Yazılım Atölyesi