Saya cuba memikirkan bagaimana flexbox berfungsi (sepatutnya berfungsi?...) untuk situasi seperti ini:
.holder { width: 500px; background: lightgray; display: flex; flex-direction: row; justify-content: space-between; flex-wrap: nowrap; } .v2 { width: 320px; } .child { display: inline-block; border: 1px solid black; padding: 30px 0px; text-align: center; }
At a glanceAfter coverage endsForms & documents
At a glanceAfter coverage endsForms & documents
At a
glanceAfter coverage
endsForms &
documents
Ini adalah JSFiddle
Masalahnya ialah apabila terdapat ruang yang cukup untuk memegang elemen, saya mendapat anak ketat yang bagus dengan jarak yang sekata antara kanak-kanak. (pertama, blok div atas)
Namun, apabila ruang kanak-kanak tidak mencukupi dan teks mula dibalut, semuanya pergi ke arah yang pelik - kanak-kanak tidak lagi muat dengan selesa, dan walaupun selepas membungkus, masih terdapat ruang yang cukup di sekeliling kanak-kanak flex kerana Adakah' tidak sesuai lagi dan ruang sekeliling tidak berpeluang untuk berfungsi (blok div kedua)
Walau bagaimanapun, jika saya menambah pemutus talian manual di mana pemutus talian automatik berlaku, semuanya disusun dengan cara yang "sepatutnya"... (blok bawah, ketiga)
Apa yang saya mahukan ialah sentiasa meletakkan anak-anak di dalam kotak mereka (sempadan hitam) dan apa sahaja ruang yang tinggal akan diagihkan sama rata di antara mereka tanpa saya menambah pemutus talian manual (ini bukan pilihan) setakat yang saya bimbangkan)
Adakah ini mungkin? ...
Lihat lebih dekat perubahan sayaFiddle:
.holder
width
到max-width
(在.v
kategori).holder
以wrap
和space-around
anak-anaknya.v
kelas的
flex: 0 0
padaflex: 0 0
添加到.child
.child
Flexbox hampir selalu perlu disediakan
max-width
,这比width
untuk menjadi lebih fleksibel. Hasilnya kelihatan baik bergantung pada apa yang anda perlukan.child
ren 的行为方式,修改flex: 0 0 中的
来满足您的需求。 (flex-grow
和flex-shrink
flex: 1 0
)...Tiada JavaScript diperlukan...
Codrops Flexbox Referencesangat berguna untuk memahami susun atur flexbox.
Dalam CSS, bekas induk tidak tahu bila bekas anaknya membungkus. Jadi ia terus mengembangkan saiznya, mengabaikan apa yang berlaku secara dalaman.
Dalam erti kata lain, penyemak imbas memaparkan bekas pada lata awal. Ia tidak mengalir semula dokumen apabila kanak-kanak membungkus.
Inilah sebabnya bekas tidak mengecut membalut reka letak yang lebih sempit. Ia hanya berjalan seolah-olah tiada apa yang dibalut, seperti yang dibuktikan oleh ruang yang dikhaskan di sebelah kanan.
Panjang maksimum ruang putih mendatar ialah panjang elemen yang dijangka hadir oleh bekas.
Dalam demo di bawah, anda boleh melihat ruang putih keluar dan masuk apabila tetingkap diubah saiz secara mendatar:DEMO 强>
Anda memerlukan penyelesaian JavaScript (lihatdi sinidandi sini)... atau pertanyaan media CSS (lihatdi sini).
Apabila mengendalikan pembalut teks,
text-align: right
pada bekas mungkin membantu dalam beberapa kes.