css - DIV 在 DIV 100% 高度内,古老的谜语

标签 css html height

谁能给我解释一下为什么黄色的 DIV 没有延伸到底部?

我尝试了各种高度、最小高度等排列方式,但都无济于事。

我应该只使用表格吗? :-)

这是页面的输出:http://pastehtml.com/view/cd1ibk3vx.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <style type="text/css">
        html, body {
            margin: 0px;
            padding: 0px;
            height: 100%;
        }

        #mainContainer {
            width: 100%;
            padding: 0px;
            background-color: #EEEEEE;
            min-height: 100%;
        }

        #mainContent {
            width: 800px;
            margin: 0px auto 0px auto;
            padding: 100px 50px 50px 50px;
            background-color: #FFFFCC;
            min-height: 100%;
        }
    </style>
</head>

<body>
<div id='mainContainer'>
    <div id='mainContent'>Why doesn't this stretch to bottom?</div>
</div>
</body>
</html>

最佳答案

min-height 之前,将简单的 height: 100%; 添加到 #mainContainer

    #mainContainer {
        width: 100%;
        padding: 0px;
        background-color: #EEEEEE;
        height: 100%;
        min-height: 100%;
    }

不过,您还需要删除 #mainContent 上的填充(和宽度)。 min-height 是在不考虑填充和边距的情况下计算的,因此如果您保留它们,#mainContent 将始终高于浏览器窗口。

http://jsfiddle.net/mQuh5/1/

关于css - DIV 在 DIV 100% 高度内,古老的谜语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12622815/

相关文章:

javascript - Modal 中的 iFrame 链接 - 切换 iFrame(保持相同的模式)+++

javascript 如何动态获取高度(当我调整浏览器大小时)

html - 如何从图标后面创建 div 的过渡?

css - 当 textarea 有值时更改标签颜色

css - Flexbox - 如果有 1 个元素居中对齐,如果有 2 个元素则顶部和底部对齐

html - 悬停时更改图像大小

javascript - 制作带点的输入字段掩码

javascript - JavaScript 中的自动换行检测

c# - WPF 文本框渲染前的高度

javascript - 我得到以下 JS 代码 : Cannot read property 'clientWidth' of null