css - 获取 DIV 标签以扩展到页面或内容的底部

标签 css html layout

我在我们的网站上设置了一个左侧导航栏。它的显示方式是在导航顶部有一个标题图像(通常是客户的名字),然后有一个表格,其中包含许多关于要做什么的选项。这些选项因客户端而异。显示此导航时,有两个图像沿着主表的两侧向下延伸,用作边框。这些是可换肤图像,是一张一张的像素图像。这样,在 CSS 文件中引用相同的图像名称时,每个客户的皮肤可以是不同的颜色。

在我们向这些页面添加文档类型之前,图像会延伸到页面底部或表格内内容的底部,以较长者为准。现在,添加文档类型以使页面成为标准,我无法让它做同样的事情。

我的设置是我有一个 DIV 作为标题,它只包含标题图像。然后,我有一个 DIV 作为容器,其中包含三个 DIV 元素作为子元素。第一个和最后一个包含一个像素图像作为左右边框,中间的 div 包含内容表。

我无法将边框图像 DIV 设置为 100% 高度,因为页面大小将是 100% + 页眉图像的大小。而且我不能只依赖图像到内容的底部,因为如果内容不占据整个页面,它需要是页面的整个长度。我在这里不知所措,没有使用 javascript 来计算调整页面大小时 DIV 的大小。

顺便说一下,我正在尝试为所有浏览器拍摄,因此 IE(至少 9)和 Chrome 都是 m 测试用例。在此处链接代码以显示我的问题所在。如您所见,左侧、内容和右侧 div 超出了页面底部,这是我不希望发生的。

//HTML

<html>
    <body>
        <div class="NavHeader">&nbsp;</div>
        <div id="NavBody">
            <div id="NavLeft"> &nbsp;</div>
            <div id="NavContent">&nbsp;<br>&nbsp;</div>
            <div id="NavRight">&nbsp;</div>
        </div>
    </body>
</html>

// CSS

html, body {
    height: 100%;
}
.NavHeader {
    height: 40px;
    width: 100%;
    background-color: blue;
}
#NavBody {
    height: 100%;
}
#NavLeft {
    height: 100%;
    float: left;
    background-color: black;
    width: 1px;
}
#NavContent {
    height: 100%;
    float: left;
    background-color: green;
}
#NavRight {
    height: 100%;
    float: right;
    background-color: black;
    width: 1px;
}

最佳答案

我过去遇到过类似的情况,我所能想到的就是使用 javascript...

CSS(据我所知)并不真正具备您正在寻找的动态能力。

关于css - 获取 DIV 标签以扩展到页面或内容的底部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766514/

相关文章:

javascript - jQuery 使用两个下拉菜单更改输入 css 样式

CSS页脚布局问题

css - 边界上的 Z 索引

css - 悬停时的图像和颜色叠加

html - 无法使用 Firebug 判断是什么导致了 div 之间的空白

html - H1标签没有响应

flutter - 如何在 Flutter 中的行小部件内的容器上添加边框?

swift - 将附件 View 添加到“打开/保存”对话框时布局约束错误

html - 页面高度不包含内容

css - 如何使用 CSS 在悬停时缩放图像