2014-12-08 173 views
0

我有一個相當複雜的佈局,我正在建設,它依靠一個受高度影響,最小高度的所以通常的技巧來定位頁腳底部不起作用。在頁面底部的位置頁腳

鑑於我的JSFiddle當內容很多或很少時,如何將頁腳定位在底部?

下面是一些我目前使用的CSS:

body, html, #wrapper { 
    height: 100%; 
    min-height: 100%; 
} 
.header { 
    height: 30%; 
    background-color: aliceblue; 
} 
.main { 
    background-color: antiquewhite; 
} 
.main .content { 
    height: 2000px; 
    background-color: aquamarine;  
    padding-bottom:80px; 
} 
.footer { 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    height: 80px; 
    background-color: beige; 
} 

回答

-1

可以使用粘頁腳伎倆。總結所有內容的包裝不包括頁腳,設定min-height:100%margin: -(footer height)說包裝,以保持其在底部:

FIDDLE

UPDATE

您可以乘坐header部分出來,使用CSS calc()調整高度:

NEW FIDDLE

+0

您將注意到標題元素高度:30%不再適用於您的解決方案(將其更改爲70% - 什麼都不做)。 – shenku 2014-12-08 04:39:52

+0

@shenku更新了答案。只需要一個調整,因爲他們不是標頭父母的定義高度。與bgoldst使用這種方法的答案不同,頁腳一直處於底部。如果你從他/她的答案中刪除高度,頁腳將不會停留在底部 – jmore009 2014-12-08 04:59:01

+0

太棒了,我已經在.main元素上完成了上述操作,而不是包裝它,請參閱http://jsfiddle.net/wn6uvske/9/ - 謝謝。 – shenku 2014-12-08 06:25:25

1

如果我正確理解您的要求,您希望頁腳坐在內容框的底部。

一種解決方案是使內容框position:relative和移動頁腳裏面,所以它的position:absolute將其綁定到內容框和bottom:0將實現有它坐靠在所述內容的底部的預期效果框。

請參閱http://jsfiddle.net/wn6uvske/5/

HTML:

<div id="wrapper"> 
    <div id="sidebar"></div> 
    <div id="body-content"> 
     <div class="header"> 
      <div class="navbar navbar-default" role="navigation"> 
       <div class="container"> 
        <ul class="nav navbar-nav navbar-right"> 
         <li><a href="#" class="menu-toggle">Toggle Menu</a> 
         </li> 
        </ul> 
       </div> 
      </div> 
     </div> 
     <div class="main"> 
      <div class="content container"> 
       <p>Content</p> 
       <div class="footer"> <!-- moved up into content container --> 
        <p>Footer</p> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

(相關)CSS:

.main .content { 
    height: 2000px; 
    background-color: aquamarine;  
    padding-bottom:80px; 
    position:relative; 
} 
.footer { 
    position: absolute; 
    bottom: 0; 
    left: 0; 
    right: 0; 
    height: 80px; 
    background-color: beige; 
} 
+0

也許我娃如果內容部分中沒有太多內容,則不要清楚頁腳應該位於頁面的底部。因此,在這種情況下,頁腳仍應位於底部。 http://jsfiddle.net/wn6uvske/8/ – shenku 2014-12-08 04:59:38