浮动div的问题不尊重高度值

时间:2014-11-10 09:51:34

标签: html css

我有一个页面使用各种表格显示值,试图让我的页面正文自动填充页眉和页脚之间的空间。

我有两个div在身体内左右浮动;右浮动div设置为“height:100%”,因为我想要一个插入框阴影,我用来明显分割两个div的内容。只要左侧div中的内容不足以导致页面需要滚动条,所有这一切都可以正常工作,一旦发生这种情况,右浮动div似乎不会尊重它的高度值,并且还原它的高度取决于它的内容。

jsFiddle工作地点:http://jsfiddle.net/ec3upxk7/4/

它停止工作的地方:http://jsfiddle.net/yw3vLess/2/

以下是工作代码:

HTML:

<div class="container">
    <header class="header">
        <p>This is the header</p>
    </header>
    <section class="content">
        <div class="content-body">
            <div class="left-panel">
                <p>This is the content.</p>
            </div>
            <div class="right-panel">
                <p>This is not the content.</p>
            </div>
        </div>
    </section>
    <footer class="footer">
        <p>This is the footer.</p>
    </footer>
</div>

CSS:

/* Reset */
html, body { height: 100%; margin: 0; padding: 0; }

/* Essentials */
.container { display: table; }
.content { display: table-row; height: 100%; }
.content-body { display: table-cell; }

/* Aestetics */
.container { width: 100%; height: 100%; }
.header, .footer { padding: 10px 20px; background: #f7f7f7; }
.content-body { background: #e7e7e7; }

.left-panel {
    width: 50%;
    float: left;
}

.right-panel {
    width: 49.9%;
    height: 100%;
    float: right;
    box-shadow:
        inset 10px 0px 5px -7px rgba(0,0,0,0.5);
}

2 个答案:

答案 0 :(得分:6)

更改

float: right;
右侧面板中的

display: inline-block;

这使阴影的高度为100%。

喜欢这个小提琴:http://jsfiddle.net/yw3vLess/5/

答案 1 :(得分:1)

你可以尝试一下;

http://jsfiddle.net/tallrye/yw3vLess/4

.container-height {
    display:table;
    padding-left:0px;
    padding-right:0px;
    width:100%;
}
.row-height {
    display:table-row;
}
.col-height {
     display:table-cell;
     float:none;
     width:49.9%;
 }

.col-top {
    vertical-align:top;
}

您可以在本文中详细了解此方法:

http://www.minimit.com/articles/solutions-tutorials/bootstrap-3-responsive-columns-of-same-height

希望这有帮助。