【发布时间】:2013-10-13 18:36:16
【问题描述】:
我正在尝试在 CSS 中组合一个简单的 3 行布局。它需要:
- 一个主容器 div(100% 宽度,100% 高度),它包含...
- 粘性标题(固定高度为 48 像素)
- 填充页眉和页脚之间所有剩余空间的中间部分
- 粘性页脚(初始高度为 62 像素,但可以在通过 javascript 加载页面后更改)
这是我目前所得到的:
HTML
<body>
<div id="container">
<div id="headContainer">
...
</div>
<div id="bodyContainer">
Stuff goes here
</div>
<div id="footContainer">
...
</div>
</div>
</body>
CSS
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}
body {
background-color:#2c3e50;
}
div#container {
height:100%;
width:100%;
}
div#headContainer {
background-color:#e74c3c;
height:48px;
width:100%;
z-index:1;
}
div#bodyContainer {
overflow:auto;
width:100%;
top:48px;
position:absolute;
background-color:#FFFFFF;
}
div#footContainer {
background-color:#c0392b;
width:100%;
position:absolute;
bottom:0;
padding:11px 18px;
box-sizing:border-box;
-moz-box-sizing:border-box; /* Firefox */
-webkit-box-sizing:border-box; /* Safari */
}
我正在努力弄清楚如何让“bodyContainer”填充页眉和页脚之间的可用空间。如果页脚是固定大小的,这会容易得多!
有什么建议吗?
【问题讨论】:
-
您是否想要一个粘性页脚,因为它会停留在屏幕底部而不随页面滚动?
-
是的。所有内容都将在 bodyContainer 中,它应该是可滚动的。页眉和页脚应分别保留在页面的顶部和底部。
-
@Coop 我有这个问题!!怎么做才能让它随着卷轴移动呢?谢谢
-
这是关于 SO 的一个非常常见的问题。实际上,您搜索 Google 并在结果中挑选出 SO 问题会得到更好的结果。