好的,所以我在应该是简单的代码方面遇到了相当烦人的问题,我已经搜索了重复项,但它似乎略有不同。这是我的基本布局:
html:
<div id="wrapper">
<div id="header"></div>
<div id="content"></div>
<div id="footer"></div>
</div>
CSS:
html,body,#wrapper {
height: 100%;
margin: 0;
padding: 0;
}
#wrapper {
position: relative;
}
#header {
position: fixed;
top: 0px;
height: 40px;
width: 100%;
color: white;
background-color: #000000;
}
#content {
position: fixed;
padding-bottom: 50px; /* to match the footer height*/
top: 40px;
bottom: 50px;
height: 100%;
width: 100%;
overflow: auto;
}
#footer {
position: fixed;
bottom: 0px;
height: 49px;
width: 100%;
border-top: 1px solid #000000;
background-color: skyblue;
font-weight: bold;
}
这个想法是包装器内的 3 个 div 占据了 100% 的页面 - 换句话说:它们总是在 view 中。页眉在顶部,页脚在底部,内容分别在中间。
页脚和页眉可以是固定大小(无论是像素还是页面高度的百分比),我想自动占据页面其余部分的内容。
问题是页面可以有许多不同的分辨率(所以内容不能是固定的高度,除非我使用 javasript)。另一件事是内容 div 可以具有可变数量的元素,这意味着它必须允许滚动内容,同时保持页眉和页脚都在视图中。主要部分是:滚轮必须在内容 div 内,而不是页面范围内。
我几乎有了这个 css 想要的东西,但是当它们溢出内容 div 时,某些内容无法滚动到(我说的是垂直溢出 - 不会有水平溢出)。我真的很感激一些帮助,但这并不像看起来那么容易/简单,如果可能的话,因为我认为你需要一个固定的溢出高度:auto。
如果可能的话,我想要一个纯 css 解决方案,所以不要向我(或永远)提及 JqueryMobile。
这是它现在的样子,注意内容 div 上的滚轮问题: