2011-03-19 66 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>