Flexbox Nedir?
Flexbox, CSS’de bir düzenleme modelidir ve bir konteyner ve onun içindeki öğeler arasındaki düzeni ve hizalamayı yönetmek için kullanılır. Esnek kutu modeli olarak da bilinir. Web geliştiricilerine, özellikle bir dizi öğeyi hizalamak ve düzenlemek için kullanışlı bir yol sunar. Float veya konumlandırma gibi eski tekniklerle zor olabilecek işlemleri daha kolay hale getirir.
Temel kavramlar:
- Flex Container (Esnek Konteyner): Flexbox düzeninde, içerisindeki öğeleri kontrol eden dış konteynerdir.
display: flex;veyadisplay: inline-flex;özelliği ile tanımlanır. - Flex Items (Esnek Öğeler): Flex konteynerinin içindeki öğelerdir. Esnek öğeler, konteyner içinde hizalanabilir, boyutlandırılabilir ve aralarında boşluklar bırakılabilir.
- Main Axis (Ana Eksen) ve Cross Axis (Çapraz Eksen): Flexbox düzeninde iki ana yönlendirme vardır. Ana eksen, flex konteyneri boyunca uzanan varsayılan yöndür. Çapraz eksen, ana eksenin dikine olan yöndür.
- Flex Direction (Esnek Yön): Öğelerin düzenlendiği ana eksenin yönlendirilmesini belirler.
flex-directionözelliği ile ayarlanır. - Justify Content (İçeriği Yatayda Hizalama): Flex konteyneri içindeki öğelerin ana eksen boyunca nasıl hizalanacağını belirler.
- Align Items (Öğeleri Dikeyde Hizalama): Flex konteyneri içindeki öğelerin çapraz eksen boyunca nasıl hizalanacağını belirler.
- Align Self (Kendi Kendini Hizalama): Herhangi bir esnek öğenin çapraz eksende nasıl hizalanacağını belirler. Bu özellik, esnek konteyner içindeki tek bir öğe için geçerlidir.
Temel Özellikler:
- display
- flex-direction
- flex-wrap
- flex-flow
- justify-content
- align-items
Nasıl Kullanılır:
Flexbox düzenini etkinleştirin: Ana konteyner için display: flex; veya display: inline-flex; özelliğini kullanın.
İç öğeleri düzenleyin: Esnek konteyner içindeki öğeler için uygun flex özelliklerini (örneğin flex-grow, flex-shrink, flex-basis, vb.) ayarlayarak düzeni kontrol edin.
Hizalama ve boyutlandırma: justify-content, align-items, align-self gibi özellikleri kullanarak öğeleri istenen şekilde hizalayın ve boyutlandırın.
.container {
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.item {
flex: 1;
}
Bu kod, bir flex konteyneri oluşturur ve içindeki öğeleri yatay olarak hizalar, öğeleri konteynerin ortasına hizalar ve öğelerin boyutunu esnek bir şekilde ayarlar.
Flexbox, web geliştiricilerin kompleks düzen gereksinimlerini kolayca yönetmelerini sağlar. Esnek yapı, responsive tasarımlar oluştururken ve farklı ekran boyutlarına uyum sağlarken son derece kullanışlıdır.