【问题标题】:Make two columns the same height使两列高度相同
【发布时间】:2012-09-12 03:00:10
【问题描述】:

我正在尝试制作具有 2 列等高的 2 列设计(使用 Twitter Bootstrap)。

我们来看这个例子:

<div class="row-fluid">
    <div class="span2">
        <ul>
            <li>Item 1</li>
            <li>Item 2</li>
            <li>Item 3</li>
            <li>Item 4</li>
        </ul>
    </div>

    <div class="span10">
        test
    </div>
</div>

​ 因为.span2 是两列中最高的,所以它使.row-fluid 拉伸以适应其高度。 在阅读了this article 之后,我期待在.span10 上设置min-height: 100% 会使其伸展到最大高度,但事实并非如此:

http://jsfiddle.net/WTNeB/1/

这是为什么呢?有什么解决方案可以让.span10 伸展到其父级高度,避免设置固定高度,以保持这种设计的灵活性?

【问题讨论】:

    标签: html css twitter-bootstrap


    【解决方案1】:

    试试这个:

    http://jsfiddle.net/WTNeB/2/

    请注意,我添加了 display:tabledisplay:table-cell 但也我更改了 css 选择器名称,以便它获得所需的优先级。

    .row-fluid {
        border: 1px dotted gray;
        display: table;
    }
    .row-fluid .span2 {
        border: 1px solid blue;
        display: table-cell;
        float: none;
    }
    .row-fluid .span10 {
        min-height: 100%;
        border: 1px solid red;
        height: 100%;
        display: table-cell;
        float: none;
    }
    

    【讨论】:

    • 这确实有效,即使没有min-height,就像在真实表格单元格上一样。不过,我对display: table-cell 从来没有感到舒服过,现在它可靠吗(具有良好支持的跨浏览器,...)?
    • 它不适用于 IE7。你总是可以use javascript,或者试试any of these solutions
    • 显示一条 JavaScript 警报,提示“请更新您的浏览器或切换到更好的浏览器。”
    • @samura 告诉人们更新/切换浏览器简直是粗鲁和令人讨厌的(你知道当我选择的浏览器是 Opera 时我看到它的频率吗?)。为旧浏览器/IE 提供优雅的后备方案,并保留您对访问者应该使用哪些浏览器的意见。
    • @cimmanon 抱歉只是个玩笑。从未打算冒犯任何人。虽然我希望人们保持浏览器更新,但从不强迫我在客户的任何网站上更新。
    【解决方案2】:

    古老的经典是faux columns 技术。在每个浏览器中都能完美运行,并且易于实现。

    但是有一个缺点:您需要添加背景图片(因此需要再添加一个请求,除非您的背景是 base 64 encoding)。

    对于具有“自动高度”的块级元素,无法将高度/最小高度设置为 100%。

    【讨论】:

    • "重要的是要注意,如果任一列都需要边框、填充和边距,那么我们仍然必须使用 Tantek Çelik 的 Box Model Hack 或 Mid Pass 来弥补 IE/Win 对盒子模型的拙劣筛选。”这个例子有边框。
    • 它仍然可以正常工作。使用这种技术“默认”解决垂直运行的边界。与内容一起流动或具有固定位置的水平边框可以按原样处理。使用这种技术,并把你的盒子“放在上面”——这真的很容易。多年来,我自己将它用于无数设计,当你习惯它时,它真的很容易。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多