【发布时间】:2012-04-30 23:30:36
【问题描述】:
有没有办法设置一个布局,使页眉为 50 像素,正文为 100%,页脚为 50 像素?
我希望身体至少用完整个观看区域。我希望页脚和页眉始终显示在屏幕上
【问题讨论】:
-
如果body中的内容超出了屏幕高度,你想要什么行为?
标签: html css css-position sticky-footer
有没有办法设置一个布局,使页眉为 50 像素,正文为 100%,页脚为 50 像素?
我希望身体至少用完整个观看区域。我希望页脚和页眉始终显示在屏幕上
【问题讨论】:
标签: html css css-position sticky-footer
我在 jsfiddle 中创建了一个示例:
更新的 JsFiddle:http://jsfiddle.net/5V288/1025/
HTML:
<body>
<div id="header"></div>
<div id="content"><div>
Content
</div></div>
<div id="footer"></div>
</body>
CSS:
html { height: 100%; }
body {
height:100%;
min-height: 100%;
background: #000000;
color: #FFFFFF;
position:relative;
}
#header {
height:50px;
width:100%;
top:0px;
left:0px;
background: #CCCCCC;
position:fixed;
}
#footer {
height:50px;
width:100%;
bottom:0px;
left:0px;
background: #CCCCCC;
position:fixed;
}
#content {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
height:100%;
padding: 0 20px;
}
#content > div {
padding: 70px 0;
}
如果没有边框,内容将是高度 100% + 140px 内边距。使用边框框,内容高度将为 100%,并且填充将在里面。
【讨论】:
box-sizing: border-box; 似乎没有任何区别。
【讨论】:
我认为您正在寻找的是“多个绝对坐标”。 A List Apart 有一个解释here 但基本上,你只需要将body 的位置指定为绝对位置,并同时设置top: 50px 和bottom: 50px:
<body>
<style>
#header {
position: absolute;
height: 50px;
}
#body {
position: absolute;
top: 50px;
bottom: 50px;
background-color: yellow;
}
#footer {
position:absolute;
height: 50px;
bottom: 0;
}
</style>
<div id="header">Header</div>
<div id="body">Content goes here</div>
<div id="footer">Footer</div>
http://www.spookandpuff.com/examples/absoluteCoordinates.html 以更漂亮的方式展示了该技术。
【讨论】: