我正在使用Image-Gallery-Widget,用戶可以在其中設置縮略圖寬度,縮略圖高度和邊距(縮略圖之間),並且該小組件將呈現所有圖像縮略圖一個很好的網格,每個圖像具有相同的寬度和高度。使用CSS flexbox或網格佈局的響應式圖片庫
我想知道css-flexbox或css-grid是否可以在不需要在代碼中定義行和列而不需要斷點/媒體查詢的情況下實現這一點。
縮略圖圖像被包裹在一個錨,所以畫廊的項目(或併網項目)將是這個樣子:
<a href="#" class="gallery-item">
<img src="myimage" width="300" height="200" />
</a>
畫廊項目應充分填補div容器,這意味着,在一行中的最後一個縮略圖和容器div的右邊緣之間不應該有空隙(除非我們沒有足夠的項目來填充行,即當連續3個英尺ft,但我們只有8個項目時,則第三排只有兩個項目,右側有一個空隙,寬度只有一個項目)。
圖庫項目永遠不會比用戶設置的縮略圖寬度更寬,因爲我們不想降低縮略圖的質量。假設這個例子的寬度爲300px。圖庫項目之間的邊距由用戶固定和設置。如果沒有足夠的項目留下來一補行,只是左對齊他們即像這樣:
我不想在CSS定義任何斷點,也沒有添加任何HTML的行/列結構。我希望瀏覽器能夠像容器一樣放置儘可能多的圖庫項目。如果右側存在間隙(即3個縮略圖* 300px寬度= 900px,但容器寬度爲1000px),則瀏覽器應縮小網格項目,以便再添加一個圖庫項目,從而消除差距。我需要能夠爲每個圖庫項目定義一個邊距。
你可以看到所需的響應行爲,在這個GIF(改變瀏覽器的寬度時):
您在GIF看到什麼是不Flexbox的完成,但需要一噸的CSS,我是的希望避免與flexbox。我已經對Flexbox進行了相當多的研究,但還沒有完全擺脫困境。
感謝您的任何提示!
是JS允許在這裏? – blackmiaool
不,我正在尋找一個CSS唯一的解決方案。 –
請發佈您嘗試過的代碼。 –