我有一個php供電的照片庫,應該以三列布局顯示圖片。每幅圖片將具有相同的寬度(即列寬),但是由於高寬比變化,所以它的高度也不同。圖片以半隨機順序排列,因此顯示順序(填充行或列)無關緊要。多列圖片庫
我試圖設置此爲CSS佈局多列:
#gallerycontainer {
-webkit-column-count: 3;
-webkit-column-gap: 8px;
-moz-column-count: 3;
-moz-column-gap: 8px;
column-count: 3;
column-gap: 8px;
}
當一切都被加載,這個比賽我想才達到的。問題在於加載階段:一個圖像在另一個圖像之後被加載並因此改變到其正確的高度,在每個圖像加載之後內容的總高度改變,並且因此圖像在列之間重新分佈很多,產生惱人的視覺效果。我想我可以通過在PHP中生成頁面時設置img
的特定高度和寬度來擺脫此問題。但是,我不知道它們的顯示寬度是多少(寬度爲#gallerycontainer
,因此列的寬度取決於瀏覽器窗口的寬度),因此我無法明確設置這些值。
是否有任何CSS技巧甚至在加載之前在右列中顯示每張圖片?
注意事項:我希望它能儘可能少地使用Javascript,尤其是沒有外部框架或套件,所以砌體不是這裏的選項。此外,我有一個可以「欺騙」的解決方案(見下文),我主要是尋找更好的方法來解決這個問題,同時記錄下我的解決方案,以防其他人遇到同樣的問題。