FlexBox, öğeleri tek bir yönde düzenleyen bir kapsayıcıdır. Mevcut alanı en iyi şekilde doldurmak için öğeleri yeniden boyutlandırabilir, sarmalayabilir, hizalayabilir ve öğeler arasındaki boşluğu 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
- Yeterli alan olmadığında öğeleri yeni satırlara veya sütunlara sığdır
- Kullanışlı hazır ayarları kullanarak öğeler arasındaki boşluğu dağıtma
FlexBox ne zaman kullanılır?
FlexBox genellikle genel ekran düzeni içinde az sayıda öğeyi görüntülemek için kullanılır. Genel ekran düzeni için Grid genellikle daha iyi bir seçimdir. FlexBox, öğelerin geç yüklenmesini desteklemez. Çok sayıda öğeyi görüntülemek için tembel listeleri ve ızgaraları kullanın. Öğeleri sarmalamanız gerekiyorsa FlowRow ve FlowColumn yerine FlexBox kullanın.
Terminoloji ve kavramlar
FlexBox, öğelerini yatay veya dikey satırlar halinde düzenler. Bu çizgilerin yönü, ana ekseni belirler. Ana eksene 90 derece olan eksen çapraz eksendir. FlexBox öğesinin ana eksen boyunca uzunluğu, ana boyut olarak bilinir. Karşılık gelen çapraz eksen uzunluğu, çapraz boyut olarak bilinir. Bu boyutlar ve eksenler, FlexBox 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)kullanarakFlexBoxkapsayıcısınaModifier.flexkullanarakFlexBoxiçindeki bir öğeye
Kapsayıcı ö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 bölümüne bakın. |
FlexBox düzen algoritmasını anlama
FlexBox'ın en güçlü özelliklerinden biri, alt öğelerini mevcut alana en iyi şekilde sığacak şekilde yeniden boyutlandırabilmesidir. FlexBox'ın bunu nasıl yaptığını anlamak, kullanıcı arayüzünüzü tüm olası boyutlar için optimize etmek üzere FlexBox özelliklerini ayarlamanıza yardımcı olabilir.
FlexBox düzen algoritması şu şekilde çalışır:
Alt öğenin temel boyutunu hesaplama: Herhangi bir ek alan dağıtılmadan önce ana eksen boyunca ilk boyutunu hesaplamak için alt öğenin
basisdeğerini kullanın.Alt öğeleri sıralama: Alt öğeleri, varsa
orderdeğerlerine göre sıralayın.Satır oluşturma: Her alt öğe için, ilk boyutunun ve
gapdeğerinin geçerli satırdaki kalan alana sığıp sığmayacağını kontrol edin. Bu durumda, bu çocuğu sıraya yerleştirin. Aksi takdirde, kaydırma etkinse yeni bir satıra yerleştirin veya öğeyi taşacağı mevcut satıra yerleştirin (kapsayıcının kenarı tarafından kısmen gizlenir).Öğeleri ana eksende hizalama veya yeniden boyutlandırma: Her satırda, öğeleri yeniden boyutlandırarak veya hizalayarak fazladan boşluğu öğelere veya öğelerin arasına dağıtın.
Çapraz eksendeki öğeleri hizalama veya yeniden boyutlandırma: Her satır için, öğeleri ve satırları uzatarak veya hizalayarak öğeler ve satırlar arasında fazladan boşluk bırakın.
FlexBox kavramlarını öğrendiğinize göre temel bir FlexBox oluşturmak için Başlangıç bölümüne bakın.