所以,我已经被这个问题困扰了一段时间,我似乎无法找到解决方案。
我正在尝试制作一个由(目前)4个不同内容区域组成的布局,如下所示:
我正在尝试做的事情
我正在尝试做以下事情:
简单解释:Content
应该是页面上唯一可滚动的东西,footer
如果内容适合页面,则在其后面,否则固定在底部。
详细解释:
- 修复
banner
并mainMenu
使其在页面滚动时永远不会移动。 - 使用页面进行
content
滚动,以便:- 如果
content
(andfooter
) 适合页面,则不显示滚动。 - 如果需要滚动,
content
则位于banner
(未显示)的后面并且不再出现在其上方。 - 如果需要滚动,
content
可以滚动到它的底线并且footer
在可见区域中。
- 如果
- 应该做两
footer
件事:- 如果
content
并且footer
适合页面,footer
则应粘贴在页面底部content
- 否则,
footer
应固定在底部。
- 如果
我试过的
Fixingbanner
和mainMenu
是footer
使用position: fixed
(并相应地定位)固定的。父母div
有overflow: hidden
(这似乎不起作用)。
<div id='main'>
<div id='banner'>banner</div>
<div id='mainMenu'>mainMenu</div>
<div id='content'>.. some long content ..</div>
<div id='footer'>footer</div>
</div>
和
#main {
width: 960px;
height: auto;
margin: 40px auto;
overflow: hidden;
}
#main #banner {
width: 960px;
height: 100px;
position: fixed;
}
#main #mainMenu {
width: 230px;
height: auto;
display: inline;
float: left;
position: fixed;
top: 140px;
}
#main #content {
width: 720px;
height: auto;
display: inline;
float: right;
margin-top: 100px;
}
#main #footer {
width: 960px;
height: auto;
clear: both;
position: fixed;
bottom: 0;
}
问题
content
如果页脚适合该区域,则
页脚不会跟随
横幅顶部的内容溢出
我真的更喜欢在 CSS 中(如果可能的话)并尽可能兼容(IE7+,所有其他主要浏览器)。现在真的很令人沮丧..任何帮助将不胜感激。