流体布局div具有相同的高度和表格单元格样式

时间:2013-05-11 14:37:29

标签: html css fluid-layout

我需要在其中显示一个包含3个div的大div。布局必须是流畅的,即大div的高度必须适应其内部3个div的内容。此外,我希望3个div具有相同的高度,我设法使用容器div的display:table属性和3个内部div的display:table-cell属性。然而,有一个很大的问题:只要我在三个div中的第一个内部放置一个margin-top:的div,它就会向下移动其他两个div的内容。 我真的不明白为什么,任何帮助都会非常感激。
这是html和css代码:

<div id="body">
    <div id="left-box">
        <div id="left-container">
            LEFT LEFT LEFT LEFT LEFT LEFT 
        </div>
    </div>
    <div id="central-box">
        <div id="central-container">
            CENTRAL CENTRAL CENTRAL CENTRAL CENTRAL  
        </div>
    </div>
    <div id="right-box">
        <div id="right-container">
            RIGHT RIGHT RIGHT RIGHT RIGHT RIGHT 
        </div>
    </div>
</div>

CSS:

#body {
    width:80.9%;
    margin:0 auto 0 auto;
    height:auto;
    /*background-color:#0F3;*/
    display:table;

}

#left-box {
    height:100%;
    width:60%;
    background-color:red;

    display:table-cell;
    border-right:1px solid #000;


}



#left-container {

    background-color:#0CF;

    width:72%;
    margin-top:82px;
    margin-left:2%;


}


#central-box {

    background-color:#00F;
    display:table-cell;
    border-right:1px solid #000;
    width:20%

} 

#central-container {

    margin-top:0px;
    float:left;
    background-color:#FF0;
}

#right-box {

    background-color:#0C0;
    display:table-cell;
    border-right:1px solid #000;
    width:19%;


} 

#right-container {

    margin-top:0px;

    background-color:#FF0;
}

1 个答案:

答案 0 :(得分:1)

尝试在div上使用vertical-align,例如:

div {vertical-align:top;}

与我们讨论的内联块元素类似的现象here

这里我将您的代码+ vertical-align放在jsfiddle