javascript - CSS 基于 % 宽度的 jQuery 设置高度

标签 javascript jquery html css wordpress

有问题的页面本质上是一个图像网格,无论窗口大小如何,总是三个横跨。

图片来自 Wordpress 帖子,每张图片都有自己的容器 div,带有 overflow:hidden。容器 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。

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

希望这是清楚的!

谢谢。

最佳答案

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

关于javascript - CSS 基于 % 宽度的 jQuery 设置高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14126737/

相关文章:

html - 将文字置于绝对图像之上

javascript - 具有 PhoneGap + Firebase 身份验证问题的混合应用

javascript - 用跨度替换最后输入的@

javascript - 如何轻松禁用 fancybox 幻灯片?

html - 如何在一个高度上添加单独的文本和单独的图像[CSS/HTML]?

javascript - IE11 和 Mozilla css 转换的奇怪东西

javascript - $.post .done 回调未触发,但数据已发布到服务器

javascript - 如何显示多行的 Highcharts ?

javascript - 仅为特定值计算值

javascript - 我们可以从维基词典 api 中获得所需的部分吗?