FlexBox, öğeleri tek bir yönde düzenleyen bir kapsayıcıdır. Kullanılabilir alanı en iyi şekilde doldurmak için öğeler arasındaki alanı yeniden boyutlandırabilir, kaydırabilir, hizalayabilir ve dağıtabilir. Farklı boyutlardaki öğeler ve kullanılabilir alan değiştiğinde öğeleri yeniden boyutlandırmak için kullanışlı bir düzendir.
FlexBox ile şunları yapabilirsiniz:
- Öğelerin, kullanılabilir alanı doldurmak için nasıl büyüyüp küçüleceğini kontrol etme
- Öğeler için yeterli alan olmadığında bunları yeni satırlara veya sütunlara kaydırma
- Kullanışlı hazır ayarları kullanarak öğeler arasındaki fazla alanı dağıtma
FlexBox ne zaman kullanılır?
FlexBox genellikle genel bir ekran düzeni içinde az sayıda öğeyi göstermek için kullanılır. Genel ekran düzeni için genellikle Grid daha iyi bir seçenektir. FlexBox, öğelerin geç yüklenmesini desteklemez. Çok sayıda öğeyi görüntülemek için tembel listeler ve ızgaralar kullanın. Öğeleri sarmalamanız gerekiyorsa FlowRow ve FlowColumn yerine FlexBox öğesini kullanın.
Terminoloji ve kavramlar
FlexBox, öğelerini yatay veya dikey çizgilerle yerleştirir. Bu çizgilerin yönü ana ekseni oluşturur. Ana eksene 90 derece olan eksen çapraz eksendir. Ana eksen boyunca FlexBox uzunluğuna ana boyut adı verilir. Karşılık gelen çapraz eksen uzunluğu, çapraz boyut olarak bilinir. Bu boyutlar ve eksenler, FlexBox'nın davranışının temelini oluşturur.
FlexBox yönü Row olduğunda eksenler ve boyutlar.
FlexBox yönü Column olduğunda eksenler ve boyutlar.Özellikleri uygulama
FlexBox özelliklerini iki şekilde uygulayabilirsiniz:
FlexBox(config)kullanılarakFlexBoxkapsayıcısınaModifier.flexkullanarakFlexBoxiçindeki bir öğeye
Container özellikleri ( |
Öğe özellikleri ( |
|---|---|
Bu özellikler hakkında daha fazla bilgi için Kapsayıcı davranışını ayarlama başlıklı makaleyi inceleyin. |
Bu özellikler hakkında daha fazla bilgi için Öğe davranışını ayarlama başlıklı makaleyi inceleyin. |
FlexBox düzen algoritmasını anlama
FlexBox'nın en güçlü özelliklerinden biri, alt öğelerini kendisine ayrılan alana en iyi şekilde uyacak şekilde yeniden boyutlandırabilmesidir. FlexBox'nın bunu nasıl yaptığını anlamak, kullanıcı arayüzünüzü olası tüm boyutlar için optimize etmek üzere FlexBox özelliklerini ayarlamanıza yardımcı olabilir.
FlexBox'nın düzen algoritması şu şekilde çalışır:
Çocuk temel boyutunu hesaplama: Ek alan dağıtılmadan önce ana eksen boyunca ilk boyutunu hesaplamak için çocuğun
basisdeğerini kullanın.Çocukları sıralama: Varsa çocukları
orderdeğerlerine göre sıralayın.Satır oluşturma: Her alt öğe için, başlangıç boyutuna
gapeklendiğinde mevcut satırda kalan alana sığıp sığmadığını kontrol edin. Bu durumda, çocuğu sıraya yerleştirin. Aksi takdirde, sarma etkinse öğeyi yeni bir satıra yerleştirin veya öğeyi, taşacağı mevcut satıra yerleştirin (öğe, kapsayıcının kenarı tarafından kısmen gizlenir).Ana eksendeki öğeleri hizalama veya yeniden boyutlandırma: Her satır için öğeleri yeniden boyutlandırarak veya hizalayarak öğeler arasında veya öğelere fazladan boşluk dağıtın.
Öğeleri çapraz eksende hizalama veya yeniden boyutlandırma: Her satır için öğeleri ve satırları genişleterek veya hizalayarak öğeler ve satırlar arasında ya da öğelere ve satırlara fazladan boşluk dağıtın.
FlexBox kavramlarını öğrendiğinize göre temel bir FlexBox oluşturmak için Başlangıç bölümüne bakın.