jQuery-使用等列脚本重新计算高度

jQuery-使用等列脚本重新计算高度,jquery,css,equal-heights,Jquery,Css,Equal Heights,我有一个上面列出的页面,它有一个手风琴盒,打开时可以打破布局。特别是最后一个。我使用以下脚本使列相等: $(window).load(function() { $(".equal_heights").equalHeights(); }); (function($) { $.fn.equalHeights = function(minHeight, maxHeight) { tallest = (minHeight) ? minHeight : 0;

我有一个上面列出的页面,它有一个手风琴盒,打开时可以打破布局。特别是最后一个。我使用以下脚本使列相等:

$(window).load(function() {
    $(".equal_heights").equalHeights();
});

(function($) {
    $.fn.equalHeights = function(minHeight, maxHeight) {
        tallest = (minHeight) ? minHeight : 0;
        this.each(function() {
            if($(this).height() > tallest) {
                tallest = $(this).height();
            }
        });
        if((maxHeight) && tallest > maxHeight) tallest = maxHeight;
        return this.each(function() {
            $(this).height(tallest).css("overflow","visible");
        });
    }
})(jQuery);

当框断开时,如何调整两列的大小。我在尝试innerheight,但那不起作用。有人有什么想法吗?

只需使用CSS来获得等高的列,就可以省去很多麻烦。最简单的方法是将元素的显示属性更改为表格单元格:

.main{
显示:表格;/*可选*/
}
.main文章,.main旁白{
显示:表格单元格;
}
我爱你,我爱你。。。
我在旁边!

这适用于无限数量的“列”,只要它们是相邻的和表单元格。由于未使用浮动,因此无需清除它们。另一个优点是因为它是纯CSS,您可以通过媒体查询在狭窄的设备上隐藏您的2列布局。

当有纯CSS选项可用时,您选择使用JavaScript创建等高列有什么特殊原因吗?据我所知,没有任何好的/真正的等高CSS选项可用…@cimmanon:因为在纯CSS中可能很痛苦。为什么现在每个人都如此害怕
?老实说,如果是我,我会用
垂直对齐:top从而保持与现有布局完全相同的布局,但由最高单元格内容定义的列高度相等。这比把你送进监狱要容易得多corner@SpYk3HH而这在多大程度上转化为移动设备?更不用说,出于可访问性的原因,以这种方式使用表是很糟糕的。
.main {
    display: table; /* optional */
}

.main article, .main aside {
    display: table-cell;
 }

<div class="main">
    <article>
        Lorem ipsum dolor sit amet...
    </article>

    <aside>
        I'm the aside!
    </aside>
</div>