当内部 child 有 float 时 CSS 高度 100%

标签 css height

我有一个基本结构

<div class="container">
    <div class="sidebar">
    </div>
    <div class="content">
    </div>
    <div style="clear:both;"></div>
</div>

其中 .sidebar.contentfloat: left

我在 S.O. 上看到了太多答案。并且只有当 .content 不大于屏幕本身时它们才有效。为了说明我的问题,我有这两个例子

http://jsfiddle.net/pleasedontbelong/h35vc/2/ (小内容) http://jsfiddle.net/pleasedontbelong/56C9v/1/ (大内容)

如您所见,当 .content div 太大时,容器上的 height:100% 不再起作用。

在这两种情况下,灰色 div 的高度都应为 100%。我的猜测是浏览器在 float 元素之前计算了窗口高度。

是否可以只使用 CSS 来解决这个问题? (我可以用 JS 来做,但它看起来太脏了)

最佳答案

移除height属性

.container{
    background-color: #999;
    padding: 20px;
    //no height declared
}

演示 http://jsfiddle.net/56C9v/7/

如果你想让容器总是占据100%那么设置min-height: 100% eg

.container{
        background-color: #999;
        padding: 20px;
        min-height: 100%;
    }

关于当内部 child 有 float 时 CSS 高度 100%,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16697892/

相关文章:

css - 我的 &lt;footer&gt; 总是跳到页面顶部

css - 仅通过 CSS 选择器从集合中选择一个元素

html - 如何制作可点击框

javascript - 使用 JavaScript 的 CSS 窗口高度

C# Wpf 如何使用其中的按钮更改 Listviewitem 的高度?

html - 百分比 'min-height' 仅当元素具有 'display: flex' 的间接父元素时才有效

javascript - 如何让用户通过单击文本来增加字体大小?

css - CSS元素高度减去高度变化的元素的高度

CSS:在固定高度或宽度的情况下填充空白处

javascript - Slickgrid - 如何在网格创建时添加 css?