"Flex" ve "inline-flex" arasındaki fark
Kısa cevap:
Biri satır içi ve diğeri temelde bir blok öğesi gibi yanıt verir (ancak bazı farklılıkları vardır).
Daha uzun cevap:
Inline-Flex - Flex'in satır içi sürümü, öğenin ve alt öğelerin, belgenin / web sayfasının normal akışında kalırken esnek özelliklere sahip olmasını sağlar. Temel olarak, genişlikler yeterince küçükse, aynı satırda var olmalarına izin vermek için fazla bir stil olmadan, aynı sıraya iki satır içi esnek kap yerleştirebilirsiniz. Bu, "satır içi blok" a oldukça benzer.
Esnek - Kap ve alt öğelerinin esnek özellikleri vardır, ancak kap belgenin normal akışından çıkarıldığı için sırayı saklar. Belge akışı açısından bir blok elemanı gibi yanıt verir. Aşırı şekillendirme olmadan aynı satırda iki esnek kutu bulunamazdı.
Karşılaşabileceğiniz sorun
Örneğinizde listelediğiniz öğeler nedeniyle, tahmin etsem de, sanırım sıralı bir şekilde listelenen öğeleri görüntülemek için flex kullanmak istiyorsunuz, ancak öğeleri yan yana görmeye devam ediyorsunuz.
Sorun yaşamanızın nedeni, flex ve inline-flex öğelerinin varsayılan "flex-direction" özelliğinin "row" olarak ayarlanmış olmasıdır. Bu, çocukları yan yana görüntüler. Bu özelliğin "sütun" olarak değiştirilmesi, öğelerinizin üst öğesinin genişliğine eşit alan (genişlik) istiflemesine ve ayırmasına olanak tanır.
Aşağıda, flex'in inline-flex'in nasıl çalıştığını gösteren bazı örnekler ve ayrıca inline vs blok elemanlarının nasıl çalıştığının hızlı bir demosu ...
display: inline-flex; flex-direction: row;
Vaktini boşa harcamak
display: flex; flex-direction: row;
Vaktini boşa harcamak
display: inline-flex; flex-direction: column;
Vaktini boşa harcamak
display: flex; flex-direction: column;
Vaktini boşa harcamak
display: inline;
Vaktini boşa harcamak
display: block
Vaktini boşa harcamak
Ayrıca, harika bir referans dokümanı:
Flexbox için Tam Bir Kılavuz - css tricks
inline-flex
veflex
: jsfiddle.net/mgr0en3q/1 @ fish-graphics and @astridx tarafından orijinal keman