Esnek
Tam bir duyarlı flexbox yardımcı programı paketi ile ızgara sütunlarının, navigasyonun, bileşenlerin ve daha fazlasının yerleşimini, hizalamasını ve boyutlandırılmasını hızla yönetin. Daha karmaşık uygulamalar için özel CSS gerekli olabilir.
Esnek davranışları etkinleştir
displayBir esnek kutu kabı oluşturmak ve doğrudan alt öğeleri esnek öğelere dönüştürmek için yardımcı programları uygulayın . Esnek kaplar ve öğeler, ek esnek özelliklerle daha fazla değiştirilebilir.
<div class="d-flex p-2 bd-highlight">I'm a flexbox container!</div>
<div class="d-inline-flex p-2 bd-highlight">I'm an inline flexbox container!</div>
Duyarlı varyasyonlar da ve için .d-flexmevcuttur .d-inline-flex.
.d-flex.d-inline-flex.d-sm-flex.d-sm-inline-flex.d-md-flex.d-md-inline-flex.d-lg-flex.d-lg-inline-flex.d-xl-flex.d-xl-inline-flex
Yön
Yön yardımcı programlarıyla esnek bir kapta esnek öğelerin yönünü ayarlayın. Çoğu durumda, tarayıcı varsayılanı olduğu için yatay sınıfı burada atlayabilirsiniz row. Ancak, bu değeri açıkça ayarlamanız gereken durumlarla (duyarlı düzenler gibi) karşılaşabilirsiniz.
.flex-rowYatay bir yön (tarayıcı varsayılanı) ayarlamak veya .flex-row-reverseyatay yönü karşı taraftan başlatmak için kullanın .
<div class="d-flex flex-row bd-highlight mb-3">
<div class="p-2 bd-highlight">Flex item 1</div>
<div class="p-2 bd-highlight">Flex item 2</div>
<div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse bd-highlight">
<div class="p-2 bd-highlight">Flex item 1</div>
<div class="p-2 bd-highlight">Flex item 2</div>
<div class="p-2 bd-highlight">Flex item 3</div>
</div>
.flex-columnDikey yönü ayarlamak veya .flex-column-reversedikey yönü karşı taraftan başlatmak için kullanın .
<div class="d-flex flex-column bd-highlight mb-3">
<div class="p-2 bd-highlight">Flex item 1</div>
<div class="p-2 bd-highlight">Flex item 2</div>
<div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column-reverse bd-highlight">
<div class="p-2 bd-highlight">Flex item 1</div>
<div class="p-2 bd-highlight">Flex item 2</div>
<div class="p-2 bd-highlight">Flex item 3</div>
</div>
için duyarlı varyasyonlar da mevcuttur flex-direction.
.flex-row.flex-row-reverse.flex-column.flex-column-reverse.flex-sm-row.flex-sm-row-reverse.flex-sm-column.flex-sm-column-reverse.flex-md-row.flex-md-row-reverse.flex-md-column.flex-md-column-reverse.flex-lg-row.flex-lg-row-reverse.flex-lg-column.flex-lg-column-reverse.flex-xl-row.flex-xl-row-reverse.flex-xl-column.flex-xl-column-reverse
İçeriği doğrula
justify-contentAna eksendeki esnek öğelerin hizalamasını değiştirmek için esnek kutu kaplarındaki yardımcı programları kullanın (başlangıç için x ekseni, ise y ekseni flex-direction: column). start(tarayıcı varsayılanı), end, center, betweenveya arasından seçim yapın around.
<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-center">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>
için duyarlı varyasyonlar da mevcuttur justify-content.
.justify-content-start.justify-content-end.justify-content-center.justify-content-between.justify-content-around.justify-content-sm-start.justify-content-sm-end.justify-content-sm-center.justify-content-sm-between.justify-content-sm-around.justify-content-md-start.justify-content-md-end.justify-content-md-center.justify-content-md-between.justify-content-md-around.justify-content-lg-start.justify-content-lg-end.justify-content-lg-center.justify-content-lg-between.justify-content-lg-around.justify-content-xl-start.justify-content-xl-end.justify-content-xl-center.justify-content-xl-between.justify-content-xl-around
Öğeleri hizala
align-itemsÇapraz eksendeki esnek öğelerin hizalamasını değiştirmek için esnek kutu kaplarındaki yardımcı programları kullanın (y ekseni başlatılacak, x ekseni ise flex-direction: column). start, end, center, baselineveya stretch(tarayıcı varsayılanı) arasından seçim yapın .
<div class="d-flex align-items-start">...</div>
<div class="d-flex align-items-end">...</div>
<div class="d-flex align-items-center">...</div>
<div class="d-flex align-items-baseline">...</div>
<div class="d-flex align-items-stretch">...</div>
için duyarlı varyasyonlar da mevcuttur align-items.
.align-items-start.align-items-end.align-items-center.align-items-baseline.align-items-stretch.align-items-sm-start.align-items-sm-end.align-items-sm-center.align-items-sm-baseline.align-items-sm-stretch.align-items-md-start.align-items-md-end.align-items-md-center.align-items-md-baseline.align-items-md-stretch.align-items-lg-start.align-items-lg-end.align-items-lg-center.align-items-lg-baseline.align-items-lg-stretch.align-items-xl-start.align-items-xl-end.align-items-xl-center.align-items-xl-baseline.align-items-xl-stretch
kendini hizala
align-selfÇapraz eksendeki hizalamalarını ayrı ayrı değiştirmek için flexbox öğelerindeki yardımcı programları kullanın (y ekseni başlangıç için, x ekseni ise flex-direction: column). align-items: start, end, center, baseline, veya stretch(tarayıcı varsayılanı) ile aynı seçenekler arasından seçim yapın .
<div class="align-self-start">Aligned flex item</div>
<div class="align-self-end">Aligned flex item</div>
<div class="align-self-center">Aligned flex item</div>
<div class="align-self-baseline">Aligned flex item</div>
<div class="align-self-stretch">Aligned flex item</div>
için duyarlı varyasyonlar da mevcuttur align-self.
.align-self-start.align-self-end.align-self-center.align-self-baseline.align-self-stretch.align-self-sm-start.align-self-sm-end.align-self-sm-center.align-self-sm-baseline.align-self-sm-stretch.align-self-md-start.align-self-md-end.align-self-md-center.align-self-md-baseline.align-self-md-stretch.align-self-lg-start.align-self-lg-end.align-self-lg-center.align-self-lg-baseline.align-self-lg-stretch.align-self-xl-start.align-self-xl-end.align-self-xl-center.align-self-xl-baseline.align-self-xl-stretch
Doldurmak
.flex-fillMevcut tüm yatay alanı kaplarken, içeriklerine eşit genişliklere (veya içerikleri sınır kutularını geçmiyorsa eşit genişliklere) zorlamak için bir dizi kardeş öğe üzerinde sınıfı kullanın .
<div class="d-flex bd-highlight">
<div class="p-2 flex-fill bd-highlight">Flex item with a lot of content</div>
<div class="p-2 flex-fill bd-highlight">Flex item</div>
<div class="p-2 flex-fill bd-highlight">Flex item</div>
</div>
için duyarlı varyasyonlar da mevcuttur flex-fill.
.flex-fill.flex-sm-fill.flex-md-fill.flex-lg-fill.flex-xl-fill
Büyü ve küçül
.flex-grow-*Esnek bir öğenin mevcut alanı dolduracak şekilde büyüme yeteneğini değiştirmek için yardımcı programları kullanın . Aşağıdaki örnekte, .flex-grow-1öğeler, kalan iki esnek öğeye gerekli alanlarını sağlarken, tüm kullanılabilir alanı kullanır.
<div class="d-flex bd-highlight">
<div class="p-2 flex-grow-1 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Third flex item</div>
</div>
.flex-shrink-*Esnek bir öğenin gerektiğinde küçültme özelliğini değiştirmek için yardımcı programları kullanın . Aşağıdaki örnekte, ile ikinci esnek öğe .flex-shrink-1, içeriğini yeni bir satıra sarmaya zorlanır, önceki esnek öğe için daha fazla alan sağlamak için "küçülür" .w-100.
<div class="d-flex bd-highlight">
<div class="p-2 w-100 bd-highlight">Flex item</div>
<div class="p-2 flex-shrink-1 bd-highlight">Flex item</div>
</div>
Duyarlı varyasyonlar da ve için flex-growmevcuttur flex-shrink.
.flex-{grow|shrink}-0.flex-{grow|shrink}-1.flex-sm-{grow|shrink}-0.flex-sm-{grow|shrink}-1.flex-md-{grow|shrink}-0.flex-md-{grow|shrink}-1.flex-lg-{grow|shrink}-0.flex-lg-{grow|shrink}-1.flex-xl-{grow|shrink}-0.flex-xl-{grow|shrink}-1
Otomatik kenar boşlukları
Flexbox, esnek hizalamaları otomatik kenar boşluklarıyla karıştırdığınızda oldukça harika şeyler yapabilir. Aşağıda, otomatik kenar boşlukları aracılığıyla esnek öğeleri kontrol etmenin üç örneği gösterilmektedir: varsayılan (otomatik kenar boşluğu yok), iki öğeyi sağa .mr-autoitme ( ) ve iki öğeyi sola itme ( .ml-auto).
Ne yazık ki, IE10 ve IE11, üst öğesi varsayılan olmayan bir justify-contentdeğere sahip esnek öğelerde otomatik kenar boşluklarını düzgün şekilde desteklemez. Daha fazla ayrıntı için bu StackOverflow yanıtına bakın.
<div class="d-flex bd-highlight mb-3">
<div class="p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
</div>
<div class="d-flex bd-highlight mb-3">
<div class="mr-auto p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
</div>
<div class="d-flex bd-highlight mb-3">
<div class="p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
<div class="ml-auto p-2 bd-highlight">Flex item</div>
</div>
hizalama öğeleri ile
align-itemsBir esnek öğeyi , flex-direction: columnve margin-top: autoveya karıştırarak bir kabın üstüne veya altına dikey olarak taşıyın margin-bottom: auto.
<div class="d-flex align-items-start flex-column bd-highlight mb-3" style="height: 200px;">
<div class="mb-auto p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
</div>
<div class="d-flex align-items-end flex-column bd-highlight mb-3" style="height: 200px;">
<div class="p-2 bd-highlight">Flex item</div>
<div class="p-2 bd-highlight">Flex item</div>
<div class="mt-auto p-2 bd-highlight">Flex item</div>
</div>
Paketlemek
Esnek öğelerin esnek bir kapta nasıl sarılacağını değiştirin. ile hiç kaydırma (tarayıcı varsayılanı) .flex-nowrap, ile kaydırma .flex-wrapveya ile ters kaydırma arasından seçim yapın .flex-wrap-reverse.
<div class="d-flex flex-nowrap">
...
</div>
<div class="d-flex flex-wrap">
...
</div>
<div class="d-flex flex-wrap-reverse">
...
</div>
için duyarlı varyasyonlar da mevcuttur flex-wrap.
.flex-nowrap.flex-wrap.flex-wrap-reverse.flex-sm-nowrap.flex-sm-wrap.flex-sm-wrap-reverse.flex-md-nowrap.flex-md-wrap.flex-md-wrap-reverse.flex-lg-nowrap.flex-lg-wrap.flex-lg-wrap-reverse.flex-xl-nowrap.flex-xl-wrap.flex-xl-wrap-reverse
Emir
Bir avuç yardımcı programla belirli esnek öğelerin görsel sırasını değiştirin order. DOM siparişini kullanmak için yalnızca bir öğeyi ilk veya son yapmak için seçenekler ve ayrıca sıfırlama sunuyoruz. orderHerhangi bir tamsayı değeri alırken (örneğin, ) 5, gereken ek değerler için özel CSS ekleyin.
<div class="d-flex flex-nowrap bd-highlight">
<div class="order-3 p-2 bd-highlight">First flex item</div>
<div class="order-2 p-2 bd-highlight">Second flex item</div>
<div class="order-1 p-2 bd-highlight">Third flex item</div>
</div>
için duyarlı varyasyonlar da mevcuttur order.
.order-0.order-1.order-2.order-3.order-4.order-5.order-6.order-7.order-8.order-9.order-10.order-11.order-12.order-sm-0.order-sm-1.order-sm-2.order-sm-3.order-sm-4.order-sm-5.order-sm-6.order-sm-7.order-sm-8.order-sm-9.order-sm-10.order-sm-11.order-sm-12.order-md-0.order-md-1.order-md-2.order-md-3.order-md-4.order-md-5.order-md-6.order-md-7.order-md-8.order-md-9.order-md-10.order-md-11.order-md-12.order-lg-0.order-lg-1.order-lg-2.order-lg-3.order-lg-4.order-lg-5.order-lg-6.order-lg-7.order-lg-8.order-lg-9.order-lg-10.order-lg-11.order-lg-12.order-xl-0.order-xl-1.order-xl-2.order-xl-3.order-xl-4.order-xl-5.order-xl-6.order-xl-7.order-xl-8.order-xl-9.order-xl-10.order-xl-11.order-xl-12
İçeriği hizala
Esnek öğeleri çapraz eksende align-contenthizalamak için esnek kutu kaplarındaki yardımcı programları kullanın . (tarayıcı varsayılanı), , , , veya arasından seçim yapın . Bu yardımcı programları göstermek için esnek öğelerin sayısını zorunlu kıldık ve artırdık.startendcenterbetweenaroundstretchflex-wrap: wrap
Önüne bak! Bu özelliğin tek sıra esnek öğe üzerinde hiçbir etkisi yoktur.
<div class="d-flex align-content-start flex-wrap">
...
</div>
<div class="d-flex align-content-end flex-wrap">...</div>
<div class="d-flex align-content-center flex-wrap">...</div>
<div class="d-flex align-content-between flex-wrap">...</div>
<div class="d-flex align-content-around flex-wrap">...</div>
<div class="d-flex align-content-stretch flex-wrap">...</div>
için duyarlı varyasyonlar da mevcuttur align-content.
.align-content-start.align-content-end.align-content-center.align-content-between.align-content-around.align-content-stretch.align-content-sm-start.align-content-sm-end.align-content-sm-center.align-content-sm-between.align-content-sm-around.align-content-sm-stretch.align-content-md-start.align-content-md-end.align-content-md-center.align-content-md-between.align-content-md-around.align-content-md-stretch.align-content-lg-start.align-content-lg-end.align-content-lg-center.align-content-lg-between.align-content-lg-around.align-content-lg-stretch.align-content-xl-start.align-content-xl-end.align-content-xl-center.align-content-xl-between.align-content-xl-around.align-content-xl-stretch