2

我一直在试图弄清楚如何使用 div-elements 用 4 个列创建一行。

第一列和第三列应为 46px 宽。第二和第四列应该是左边位置的 50%(如 100% 窗口宽度 - 46*2)宽。正如您在第一个灰色框中看到的那样,我已经意识到这一点。

好吧,第二列和第四列的文本可以更长,我希望它打破 div 。

第二个灰色框显示文本较长时的外观。第三个灰色框向您展示了“display:table-cell”的另一个尝试。唯一的问题是第二列的 50% 的宽度只是减小了,而第四列的宽度增加了。

我需要两列具有相同的宽度。你知道我如何实现它吗?先感谢您。

4

1 回答 1

3

我决定改编你的display: table-cell版本。

最重要的变化是添加table-layout: fixed. 这样做是在没有指定的列之间平均分配剩余的可用宽度width

见:http: //jsfiddle.net/thirtydot/5p5V9/2/

CSS:

.outer {
    color: #ffffff;
    background-color: #373737;
}

.inner {
    display: table;
    table-layout: fixed;
    width: 100%;
}
.inner > div {
    display: table-cell;
}
.alignC {
    text-align: center;
    font-weight: bold;
    color: #949494;
    background-color: #2e2e2e;
}
.first, .alignC {
    width: 46px;
    font-weight: bold;
}

.alignR, .alignL {
    background: #666;
}​

HTML:

<div class="outer">
    <div class="inner">
        <div class="first">1</div>
        <div class="alignR">r</div>
        <div class="alignC">m</div>
        <div class="alignL">This long text shall break in the div</div>
    </div>
</div>

浏览器支持display: table-cell.

于 2012-06-13T11:42:03.797 回答