2015-09-04 114 views
2

我必須逐頁滾動,頂部菜單橫幅總是位於屏幕的頂部。單頁滾動:如何將橫幅保持在頂部

這裏是my fiddle

$("section").onepage_scroll({ 
 
    sectionContainer: "article", 
 
    loop: false 
 
});
html, body { 
 
    height: 100%; 
 
    padding: 0; margin: 0; } 
 

 
header { 
 
    height: 50px; 
 
    position: absolute; 
 
    top: 0; left: 0; z-index: 100; 
 
    background: yellow; opacity: .5; 
 
    width: 100%; } 
 

 
section { 
 
    background: beige; 
 
    box-sizing: border-box; 
 
    height: 100%; width: 100%; } 
 

 
article { 
 
    position: absolute; 
 
    display: table-row; 
 
    background: brown; 
 
    height: 100%; width: 100%; } 
 

 
article > div { 
 
    float: left; 
 
    width: 50%; 
 
    height: 100%; 
 
    border: 1px solid blue; 
 
    box-sizing: border-box; 
 
    display: table; 
 
    text-align: center; } 
 

 
article > div div { 
 
    display: table-cell; 
 
    vertical-align: middle; } 
 

 
article > div:first-of-type { background: red; } 
 
article > div:last-of-type { background: lightgreen; }
<link href="http://www.thepetedesign.com/demos/onepage-scroll.css" rel="stylesheet"/> 
 
<script src="http://www.thepetedesign.com/demos/jquery.onepage-scroll.js"></script> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<header>this is the top banner</header> 
 
<section> 
 
    <article> 
 
     <div> 
 
      <div>1 this is the first cell</div> 
 
     </div> 
 
     <div> 
 
      <div>this is the second</div> 
 
     </div> 
 
    </article> 
 
    <article> 
 
     <div> 
 
      <div>2 this is the first cell</div> 
 
     </div> 
 
     <div> 
 
      <div>this is the second</div> 
 
     </div> 
 
    </article> 
 
    <article> 
 
     <div> 
 
      <div>3 this is the first cell</div> 
 
     </div> 
 
     <div> 
 
      <div>this is the second</div> 
 
     </div> 
 
    </article> 
 
</section>

我需要顯示的剩餘空間滿格了旗幟。細胞不應該溢出到底部(我應該看到底部的藍色邊框)

PS。

設置邊距的部分滾動時給出了這樣的結果:

enter image description here

說不好,因爲我需要看到完整的「細胞」,直到頁面底部.. 。

我需要的結果是這樣的:

enter image description here

BUT將單元格完全放在頁面中(圖片中單元格的底部溢出頁面底部 - e沒有看到底部的藍色邊框)!

+0

我不確定我是否完全理解,但是如果您將50px(頂部橫幅的高度)的邊距頂部添加到節(onepage-wrapper),它將從頂部開始50px .. – Goombah

+0

你的意思是你想讓第一個單元格和第二個單元格不與橫幅重疊? – tofarr

+0

你的描述很糟糕...但如果我理解正確的標題,嘗試更改標題{position:fixed;},not position:absolute; – Petroff

回答

1

添加以下兩個CSS規則section這可能會成爲你的目的:

<section style=" height: calc(100% - 50px); top:50px;" > <!-- ... --> 

JSFiddle Demo

注:添加規則的CSS樣式表以某種方式正由插件的製作使用的覆蓋。

+0

這並不是那麼糟糕......即使有一部分單元格在橫幅下滾動......而且樣式有點「硬編碼「(橫幅高度依賴) – Serge

+0

但我想保持HTML清潔...在CSS中設置'height:calc(100% - 50px)!important;'似乎沒有用... – Serge

+0

是的,我知道@Serge,但是由於什麼原因,可能是因爲'.onepage_scroll'使用。檢查它是否必須在文檔中說明一些事情。 –

0

添加到您的CSS:

section.onepage-wrapper { 
    margin-top: 50px; 
} 

記住更改標題的高度時,調整數值。你可以做到這一點與jQuery的,太:

$(document).ready(function() { 
    $("section.onepager-wrapper").css({ "margin-top": $("header").height() + "px" }); 
}); 
+0

的最後一張圖片,看看我更新的OP(PS)。 – Serge

+0

也減少細胞的高度,那麼你會看到整個細胞。 – DaFunkyAlex

+0

不起作用,單元格的底部像OP圖像中一樣溢出... – Serge

相關問題