0

所讨论的页面本质上是一个图像网格,无论窗口大小,始终是三个图像。

图片来自 Wordpress 帖子,每个都有自己的容器 div,带有溢出:隐藏。容器 div 在 css 中设置为宽度 33.33%。我在 ready() 和窗口调整大小上使用 jQuery 来将容器 div 的高度设置为等于它们的宽度。

html/php 结构如下所示:

<div class="collectionPostContainer">
                    <div class="collectionImageHolder">
                        <img src='<?php the_field('photo'); ?>'/>
                    </div>
</div>

js函数如下所示:

  function resizeEntryHeight(){
windowWidth = $(window).width();
$('.collectionPostContainer').each(function(){
    $(this).css('height',$(this).width()+'');
});

}

问题是,当页面第一次加载时,前四个条目的高度都比后面的条目略高,从而在第三行脱离了网格。一旦我在控制台中调用该函数或再次调整窗口大小,高度就会固定并且都相等。

在 Firefox 和 Chrome 上测试,在多个起始窗口大小。奇怪的是,前四个条目的高度总是比后面的条目高 5px。

所以我想知道为什么在同一个循环中为表面上具有相同宽度的元素分配了不同的高度,以及如何制作漂亮的图像网格。

希望这很清楚!

谢谢。

4

2 回答 2

0

你可以使用这个 jquery 插件:https ://github.com/karacas/imgLiquid

于 2013-01-02T18:02:40.417 回答
0

这必须为你工作

var resizeEntryHeight=function(){
$('.collectionPostContainer').each(function(){
    $(this).css('height',$(this).width()+'px');
});
}

$(document).ready(function(){
resizeEntryHeight();
$(window).resize(resizeEntryHeight());
});
于 2013-01-02T19:16:35.770 回答