我想使用div製作網格,我想確保它們都具有相同的寬度但不同的高度。我確實希望他們包裝,但不是在一條新線上,而是在第一個可用的空間位置下。如果您需要任何解釋,請告訴我!照片網格列布局
這是相當多的想法:http://imgur.com/a/WmUya
也或者這樣:
]
我只需要一個簡單的解釋,但!謝謝!
我想使用div製作網格,我想確保它們都具有相同的寬度但不同的高度。我確實希望他們包裝,但不是在一條新線上,而是在第一個可用的空間位置下。如果您需要任何解釋,請告訴我!照片網格列布局
這是相當多的想法:http://imgur.com/a/WmUya
也或者這樣:
]
我只需要一個簡單的解釋,但!謝謝!
它現在也可以做到這一點,而無需使用column-count
的JavaScript(看看this tutorial)
.masonry {
column-count: 3;
column-gap: 5px;
}
img {
break-inside: avoid;
width: 100%;
}
<div class="masonry">
<img src="http://lorempixel.com/100/200/abstract" alt>
<img src="http://lorempixel.com/g/100/250/abstract" alt>
<img src="http://lorempixel.com/100/130/abstract" alt>
<img src="http://lorempixel.com/g/100/240/abstract" alt>
<img src="http://lorempixel.com/100/220/abstract" alt>
<img src="http://lorempixel.com/100/180/abstract" alt>
<img src="http://lorempixel.com/100/210/abstract" alt>
<img src="http://lorempixel.com/g/100/170/abstract" alt>
</div>
舊的解決方案,你會發現一直很流行的是使用masonry庫 - 請參閱this example。
所有的,它需要的代碼是:
// init Masonry
var $grid = $('.grid').masonry({
// options...
});
// layout Masonry after each image loads
$grid.imagesLoaded().progress(function() {
$grid.masonry('layout');
});
Isotope javascript plugin有不正是你想要的佈局模式。您可以使用示例預覽佈局。如果您沒有任何JavaScript技能,您可以使用數據屬性。
我這樣做的方式是先仔細看看你的圖像,你會注意到3列。
這3列的3周不同的div容器中浮子和寬度:33.33%或內聯塊產生相同的結果。
在這個列裏面是您的項目是身高:汽車雖然div總是這樣工作。
花哨的白色空間是由該塊的代碼
// update the value in your convenience
border: 4px solid transparent;
box-sizing: border-box;
而是採用保證金或填充,我們使用的邊界進行。這個邊框將作爲一個獨立的填充物,不會擴展div中的背景色,同時不會在物品之外創建邊緣,從而將其推出設計。這將保持33.33%寬度的外觀。
希望有幫助
這正是我所做的,我只是想要一些不同的東西。 – Mees
如果你想要另一個可以使用** position:absolute; **,你需要使用JavaScript來完成。您需要根據高度和寬度記錄項目的每個定位。我無法提供一個示例,因爲我正在使用移動設備,但它的工作原理如何。 – masterpreenz
謝謝,我要深入瞭解! @jcuenod – Mees
我正在玩flexbox,我的確找到了一種方法,我只是不喜歡我是如何做到的。我製作了三行,所有div或圖像寬度相同,但高度不同,還有一個display:block,但是我在YouTube上看到了這個視頻,我不知道如何在沒有Flexbox的情況下做到這一點。我每天都在學習新事物! – Mees