设想
我有一个容器(会有更多),里面有列表项,每个都包含一个图像。容器的高度相对于列表项的高度是动态的,列表项本身在媒体查询中会发生变化。容器有一个最小高度,所以当图像较大时,想法是调整容器的大小,向下滑动。
我目前正在获取页面加载时图像列表项的高度,但这并不是很好,因为它们是相当多的图像,所以它可能需要一段时间来调整。
不幸的是,这是一个相当大的项目,我无法准确复制 jsfiddle 中的场景,我认为这已经足够接近了。
解决方案
我需要某种方法来获取加载的第一个图像列表项的高度,然后使容器具有相同的高度。
代码
HTML
<ul class="container">
<li class="img">
<img src="http://www.lorempixel.com/50/100" width="100%" height="100%" />
</li>
<li class="img">
<img src="http://www.lorempixel.com/50/100" width="100%" height="100%" />
</li>
<li class="img">
<img src="http://www.lorempixel.com/50/100" width="100%" height="100%" />
</li>
...so on
</ul>
CSS
li {
list-style: none;
}
.img {
float: left;
height: 100px;
overflow: hidden;
width: 50px;
}
.container {
border:5px solid green;
width:100%;
overflow: hidden;
min-height:100px;
}
@media only screen and (max-width: 500px) {
.img {
width: 25%; height: auto;
}
}
JS
$(window).load(function() {
$('.container').each(function() {
$(this).animate({
height: $('.img').height(),
slideDown: 'fast'
});
});
});
演示
感谢您的时间。