这是我的工作范例:
http://jsfiddle.net/UGhKe/2/
#body {
height: 200px;
background: black;
width: 100%;
}
.header {
position: fixed;
top: 0;
background: #369;
z-index: 1;
width: 100%;
height: 5em;
}
.content {
position: absolute;
top: 5em;
overflow: hidden;
height: 1000px;
background: #936;
z-index: 0;
width: 100%;
}
.footer {
position: fixed;
bottom: 0;
background: #396;
width: 100%;
}
.large {
font-size: 120%;
padding: 2em;
}
<div id="body">
<div class="header">
<div class="large">Header</div>
</div>
<div class="content">
Content, you should be able to see this when you scroll to top.
</div>
<div class="footer">
<div class="large">Footer</div>
</div>
</div>
我希望滚动顶部时内容位于标题下方(但在向下滚动时,在标题下隐藏) - 这样可以正常工作...
但是我需要删除 top:5em 并使用“继承标题的当前高度”之类的内容 - 没有JS可以吗?
如果没有JS真的不可能,那么我可以使用JS,但我宁愿尝试在纯CSS中找到解决方案。
我应该注意,我不能使用 top:5em 的原因是因为标题没有固定的高度 - 文本内部将使用图像(用于徽标),并且它将设置为max-width:100%,以便它缩小到适合iPhone的宽度,并且在iPad上不会扩展太多。
答案 0 :(得分:1)
看看那是否适合你。 http://jsfiddle.net/UGhKe/3/
我添加了另一个div
height
但“非固定”以模拟您的固定标题。
HTML
<div id="body">
<div id="blockHeader"></div>
<div class="header">
<div class="large">Header</div>
</div>
<div class="content">
Content, you should be able to see this when you scroll to top.
</div>
<div class="footer">
<div class="large">Footer</div>
</div>
</div>
CSS
html, body { margin:0; padding:0; }
#blockHeader
{
width:100%;
height: 5em;
}
.content {
position: absolute;
overflow: hidden;
height: 1000px;
background: #936;
z-index: 0;
width: 100%;
}
答案 1 :(得分:0)
您可以使用变量(使用SASS或LESS)。看看pen。
CODE:
$headerContentVariable: 5em;
#body {
height: 200px;
background: black;
width: 100%;
}
.header {
position: fixed;
top: 0;
background: #369;
z-index: 1;
width: 100%;
height: $headerContentVariable;
}
.content {
position: absolute;
top: $headerContentVariable;
overflow: hidden;
height: 1000px;
background: #936;
z-index: 0;
width: 100%;
}
.footer {
position: fixed;
bottom: 0;
background: #396;
width: 100%;
}
.large {
font-size: 120%;
padding: 2em;
}