如何让左右div一直到底?

时间:2015-09-02 19:26:47

标签: html css css3 view

我有一个主页。在身体div我有三个div,一个右div,一个左div和一个中心div。在中心div我有@renderbody呈现特定的视图。我希望左右div高度一直到页脚。如何使div div与中心div的高度相同,一直向下到底部div。

#body {
    background-color:white;
    margin-left:auto;
    margin-right:auto;
    width: auto;
    padding: 10px;
}

#body-main-left { 
    background-color:rgba(100, 100, 100, 0.1);
    float:left;
    width: 150px;
    height:auto;

}

#body-main-right {
    background-color: rgba(100, 100, 100, 0.1);
    float: right;
    width: 150px;
    height:auto;
}

#body-main-center {
    margin: 0 150px 0 150px;
}
#footer {
    clear: both;
    background-color: black;
    color: red;
}


<div id="container">
    <div id="header">
        <div id="header-banner">
            HeaderBanner image will reside here
        </div>
        <div id='cssmenu'>
            <ul>


<li class='active'>@Html.ActionLink("", "", "")</li>
            <li>@Html.ActionLink("", "", "")</li>
            <li>@Html.ActionLink("", "", "")</li>
            <li>@Html.ActionLink("", "", "")</li>
            <li>@Html.ActionLink("", "", "")</li>
            </ul>
        </div>
    </div>
    <div id="body">
        <div id="body-main-left">Left Block</div>
        <div id="body-main-right">Right Block</div>
        <div id="body-main-center">@RenderBody()</div>
    </div>
    <div id="footer">
        Footer copyright
    </div>
</div>

2 个答案:

答案 0 :(得分:0)

你可以使用Flexbox,你的CSS可能是这样的:

#body {
    background-color:white;
    display: flex;
    flex-grow: 1;
}

#body-main-left { 
    background-color:rgba(100, 100, 100, 0.1);
    width: 150px;
}

#body-main-right {
    background-color: rgba(100, 100, 100, 0.1);
    width: 150px;
    order: 2;
}

#body-main-center {
    flex-grow: 1;
}

#footer {
    background-color: black;
    color: red;
}

选中此demo

答案 1 :(得分:0)

示例:

https://jsfiddle.net/9vd83rww/5/

padding-bottom: 0px;添加到#body,如下所示:

#body {
    background-color:white;
    margin-left:auto;
    margin-right:auto;
    width: auto;
    padding: 10px;
    padding-bottom: 0px;
}