CSS Flex Öğeleri
Flex Container ebeveyni yönetir. Flex öğeleri başka bir soruya yanıt verir: o satır veya sütunda her çocuk nasıl büyür, küçülür ve boyutuna başlar? Duyarlı flex kalıplarının peşine düşmeden önce basis, grow ve shrink’i iyice öğrenin.
Flex öğeleri araç seti
📊 Flex öğelerine bakış
| Özellik | Günlük işi |
|---|---|
flex-basis |
Boş alan dağıtılmadan önceki ana eksen başlangıç boyutu |
flex-grow |
Bu öğenin kalan alandan ne kadar aldığını (birimsiz çarpan) |
flex-shrink |
Alan daraldığında bu öğenin ne kadar istekle küçüldüğü |
flex |
grow, shrink ve basis için kısayol |
align-self |
Tek bir öğe için konteynerin align-items değerini geçersiz kılar |
order |
Görsel sırayı değiştirir (az kullanın — DOM/erişilebilirliği bozmayın) |
basis’i, öğenin ana eksendeki tercih edilen başlangıç uzunluğu gibi düşünün. Sonra grow ve shrink kalan boş veya eksik alanı paylaşır.
flex-grow — kalan alanı al
1 çarpanı öğenin boş alana genişlemesine izin verir. Kardeş çarpanlar yarışır: flex-grow: 1 olan iki öğe kalanı eşit böler.
.layout {
display: flex;
gap: 1rem;
}
.layout__main {
flex-grow: 1;
}
.layout__aside {
flex-grow: 0;
width: 14rem;
}
flex-basis — bir boyuttan başla
flex-basis, grow/shrink hesabından önce ana eksen başlangıç boyutunu ayarlar. Flex algoritması için basis’i tercih edin; width/height hâlâ önemlidir ama flex’in kendi başlangıç noktası basis’tir.
.layout__aside {
flex-basis: 14rem;
flex-grow: 0;
flex-shrink: 0;
}
flex-shrink — alanı geri ver
Satır çok daraldığında shrink çarpanları kimin sıkışacağını kararlaştırır. flex-shrink: 0 ikonları veya sabit rayları ezilmekten korur.
.icon-rail {
flex-shrink: 0;
flex-basis: 3rem;
}
flex kısayolu
flex: grow shrink basis üçlüyü paketler. Sakin yaygın varsayılanlar: dolduran çocuk için flex: 1 (büyüsün, küçülmeye izin ver, basis auto); sert bir çip için flex: 0 0 auto.
.card__body {
flex: 1 1 auto;
}
.card__badge {
flex: 0 0 auto;
}
align-self — bir öğe, farklı çapraz hizalama
Tek bir çocuk için konteynerin align-items değerini geçersiz kılın. Bir rozetin başlangıca yapışması, kardeşlerin ortada kalması gerektiğinde işe yarar.
.row {
display: flex;
align-items: center;
gap: 0.75rem;
}
.row .note {
align-self: flex-start;
}
Sakin bir flex öğe alışkanlığı
Önce istenen boyut için basis, sonra grow/shrink çarpanları, sonra toparlamak için kısayol. align-self’i seyrek kullanın. Klavye ve ekran okuyucu akışını bozan order oyunlarından kaçının — medya sorgulu flex kalıplarını Flex Responsive’e bırakın.
.cluster__main {
flex: 1 1 auto;
}
.cluster__meta {
flex: 0 0 auto;
align-self: center;
}
Kendiniz deneyin
- main + aside satırı yapın; main’e
flex-grow: 1verin. - aside’ı
flex-basis: 14remveflex-shrink: 0ile ayarlayın. - Bir ikonu
flex-shrink: 0ile koruyun. - grow/shrink/basis’i
flexkısayoluyla yeniden yazın. - Bir çocuğun çapraz hizalamasını
align-selfile geçersiz kılın.
Sık yapılan hatalar
flex-grow’u öğe yerine konteynere koymakwidthileflex-basis’i karıştırıp flex hesabının neden uyuşmadığını merak etmekorderile yeniden sıralayıp sekme/kaynak sırasını bozmak- shrink varsayılanda kaldığı için logoların ezilmesine izin vermek
- Bu dersi Flex Responsive modülü gibi ele almak
Özet
- Flex öğeleri büyüme, küçülme ve başlangıç basis’ini kontrol eder
flex-growboş alanı paylaşır;flex-shrinkbaskıyı paylaşırflex-basisana eksendeki flex başlangıç boyutudurflexkısayolu vealign-selftek tek çocukları inceler- Duyarlı flex kalıpları sırada;
order’ı dikkatli kullanın
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek