我怎样才能有一个页眉和页脚,中间有一个 MainContent div 填充所有可用区域但从不延伸到页脚或页眉之外?
所以换句话说,填充页眉和页脚之间的剩余空间,但不再使用更多空间?
我想不出我怎么能做到这一点。我尝试了很多尝试,但没有成功,因为中间内容 div 总是溢出页脚顶部,这是我不希望发生的。我希望内容 div 仅拉伸到页脚顶部,仅此而已。
我确实尝试设置溢出:隐藏;但这只是阻止滚动条出现,仅此而已。
不允许使用 Javascript。
如果您绝对定位页眉和页脚,那么您应该能够将内容 div 的高度和宽度设置为 100%。确保将内容 div 的位置设置为相对。
本质上,您可以将底部属性设置为页脚的高度,并将溢出属性设置为自动以在必要时添加滚动条,以防止其溢出。
例如,
#content {
position: absolute;
top: <height of header>px;
bottom: <height of footer>px;
overflow: auto;
}
这是一个演示:http: //jsfiddle.net/bYdgj/1/
页眉和页脚是否总是应该在屏幕的那个位置?
如果是,那么您可以使用位置:固定;css 的属性。这样,您可以将页眉和页脚锚定到窗口屏幕。
如果它们被主 div 覆盖,则在其上和主内容 div 上添加一个 z-index(确保主内容具有位置属性和一个小于页眉和页脚的 z-index)
完成此操作后,您可以在主要内容 div 上添加边距,以确保它位于页眉/页脚之间
有几种可能的方法:
background-color
即可background-image
top: 0
和bottom: 0
position: fixed
,但您的页眉和页脚将在正文前面我会采用第二种方法,因为我无法想象需要在页眉和页脚之间精确放置内容的情况。