我需要擺脫列布局中元素之間的空白。我可以使用最新的css3,因爲該網站是針對現代瀏覽器/設備的,但我需要避免使用JavaScript解決方案,以便從服務器交付的頁面不需要根據客戶端的寬度重新呈現。項目之間沒有空白的css列/ flexbox
使用flexbox,css列和其他技巧我需要哄一個pinterest般的佈局。 (Pinterest爲其佈局使用javascript和絕對定位,它甚至不會在js關閉的情況下渲染。)該站點具有已知寬度但高度可變的框。列數需要根據瀏覽器寬度而變化。 (我可以,如果我知道的CSS屬性來改變通過媒體查詢做到這一點。)下面是這個樣子:via
另外請注意,我不能只增加容器的高度,以填補空的空間。我想把它放在它下面,而不是讓所有的高度匹配。 (所以拉伸在上面的圖片,物品1 3和4是不是我想要的。)
事情我已經嘗試:
CSS 3列。這看起來不錯,但項目順序錯誤,第二個項目在第一個項目下。如果這可以更改爲不同的順序,以便它們從左到右,太棒了!
Flexbox各種柔性盒配置,我試過幾乎所有可以改變的設置。
Javascript。是的,我知道我可以手動創建列並在調整大小時重新渲染它們。我期望避免昂貴的重新渲染操作,需要手動平衡列和顯示。對於不支持css3解決方案的舊版瀏覽器,我可以採取這種做法。我也想避免手動定位所有的項目。毛。
我已經把評論鏈接的jsfiddle因爲我不能把它放在這裏「鏈接的jsfiddle需要的代碼」。
砌體上? http://masonry.desandro.com/ – sinisterfrog
看看這個鏈接:http://css-tricks.com/fluid-width-equal-height-columns/它可能會幫助你。 – dippas
用途:align-self:stretch; ,所以在每一行中,所有的盒子都將佔據最高的高度以填充行/行之間的間隙。 –