#javascript #jquery #css
#javascript #jquery #css
Вопрос:
У меня есть динамически создаваемая сетка с изображениями разных размеров, как мне получить галерею с плиткой
<div class="container">
<div class="block1">
<img src="img1" />
</div>
<div class="block2">
<img src="img1" />
</div>
<div class="block3">
<img src="img1" />
</div>
<div class="block4">
<img src="img1" />
</div>
</div>
Я не хочу использовать сторонние библиотеки, любая помощь будет оценена..
Ответ №1:
Вы можете изменять размер своих изображений с помощью JavaScript. Например, этот код изменит размер каждого изображения на значение maximumHeight.
JSFiddle: http://jsfiddle.net/FU76g/
HTML:
<div class="container" id="container">
<div class="block1">
<img src="http://placehold.it/350x150" />
</div>
<div class="block2">
<img src="http://placehold.it/100x100" />
</div>
<div class="block3">
<img src="http://placehold.it/250x200" />
</div>
<div class="block4">
<img src="http://placehold.it/350x150" />
</div>
</div>
JavaScript:
var container_div = document.getElementById("container");
var array_img=container_div.getElementsByTagName("img");
var maxHeight=0;
for(var index = 0; index < array_img.length; index ){
if (array_img[index].clientHeight > maxHeight){
maxHeight = array_img[index].clientHeight;
}
}
alert("will do");
for(index = 0; index < array_img.length; index ){
array_img[index].height = maxHeight;
}
alert("done");
Комментарии:
1. Большое спасибо, Николас, это было то, что я искал, есть ли какой-нибудь способ, которым мы могли бы использовать style display:inline-block , чтобы он заполнял пробел
2. Добавьте это правило CSS: .container div{display:inline-block;}