强制所有浮动DIV与其容器的高度相匹配

时间:2009-08-05 17:22:24

标签: html css height css-float

我正在试图找出一种方法来使三个浮动div与三个浮动div的高度匹配(通过clearfix解决方案,它是容器的高度)。

我的问题与this问题完全一样,只有我的问题需要答案的评论忽略:)(“如果两列有不同的背景颜色会怎么样?”等等)

所以我真的不能假装它。该页面使用了一个拖动和放大器。使用scriptaculous类似于iGoogle的drop机制,dragdrop可排序容器是浮动div。如果我可以强制所有容器达到相同的高度,这将使用户更容易。

我越是寻找解决方案,它就越不能用纯CSS完成。如果是这种情况,我需要使用一些javascript,所以就这样吧。

提前致谢。

编辑:来自idrumgood的链接是一个解决方案,但不是我最终使用的解决方案。我最终将他建议的jQuery函数移植到原型中,以避免冲突并避免为一个函数加载整个jquery库。

这是我最终使用的javascript函数端口:

    function equalHeights(container) {
    var children = $A(container.immediateDescendants());
    var currentTallest = 0;

    for (i = 0; i < children.length; i++) {
        if (children[i].getHeight() > currentTallest) {
            currentTallest = children[i].getHeight();
        } //end if
    } //end for

    for (i = 0; i < children.length; i++) {
        children[i].setStyle({ height: (currentTallest + 'px') });
    } //end for
} //end equalHeights

1 个答案:

答案 0 :(得分:3)

如果您对javascript / jQuery感到满意,我会使用here's the solution