2011-03-19 105 views

回答

2

添加填充到第二个div等于第二个div的高度。

.content { 
    padding-top: 50px; 
    background: #ccc; 
    width: 100%; 
    height: 5000px; 
} 

当你说滚动背面的条形码下方,这听起来像你想的内容开始回栏的下方。所以添加一些填充到第二个div来说明固定div的存在。

+2

那么你有几种解决方案现在。你选择哪个取决于你想要的。如果导航栏完全覆盖浏览器窗口的顶部,那么kdtong的页边距似乎最好。如果导航栏需要从内容区域获得一些背景效果,那么按我的建议填充顶部看起来最好。我认为这是两个最直接的解决方案。 – mrtsherman 2011-03-21 13:52:33

4

这样做吗?

http://jsfiddle.net/Vqncx/

我只给从顶部相等的“内容” DIV相对定位和y轴给“nav”的高度,然后,得到“NAV”的z-index以保持它在'内容'之上。

.nav { 
width: 100%; 
height: 50px; 
background: #000; 
position: fixed; 
z-index: 5; 
} 

.content { 
background: #ccc; 
width: 100%; 
height: 5000px; 
position: relative; 
top:50px; 
} 
2

你只需要一顶边距添加到您的。内容的div等于.nav块的大小+一些填充:

.content { 
    margin-top: 60px; 
    background: #ccc; 
    width: 100%; 
    height: 5000px; 
} 
0

这里是实现这一那并不是一种更灵活的方式不需要知道固定div的高度(尽管它的语义较少)。

只需复制固定元素的标记。将第一个重复对的position设置为fixed,将第二个的visibility设置为hidden(还要确保第二个元素的position未设置或relative)。这里有一个例子:

* { 
 
    margin: 0; 
 
    padding: 0; 
 
} 
 
.nav { 
 
    width: 100%; 
 
    height: 50px; 
 
    background: #000; 
 
} 
 
.fixed{position:fixed} 
 
.filler{visibility:hidden} 
 

 
.content { 
 
    background: #ccc; 
 
    width: 100%; 
 
}
<div class="nav fixed"></div> 
 
<div class="nav filler"></div> 
 
<div class="content"> 
 
    
 
    First<br /> 
 
    Second<br /> 
 
    Third<br /> 
 
    Fourth<br /> 
 
    Fifth<br /> 
 
    Sixth<br /> 
 
    Seventh<br /> 
 
    Eigth<br /> 
 
    Ninth<br /> 
 
    
 
    <br /><br /><br /><br /> 
 
    <br /><br /><br /><br /> 
 
    <br /><br /><br /><br /> 
 

 
    Last<br /> 
 

 
</div>