摘要:也可以設置負值的在上面,此時結構變化如下設置使用一個空的把容器推到頁面最底部,同時給設置一個負值的,這個與和的高度相等。
方法一:footer高度固定+絕對定位
HTML結構:
header main content
CSS設置:
html{height:100%;} body{min-height:100%;margin:0;padding:0;position:relative;} header{background-color: #ffe4c4;} main{padding-bottom:100px;background-color: #bdb76b;}/* main的padding-bottom值要等于或大于footer的height值 */ footer{position:absolute;bottom:0;width:100%;height:100px;background-color: #ffc0cb;}
首先,設置body的高度至少充滿整個屏幕,并且body作為footer絕對定位的參考節點;
其次,設置main(footer前一個兄弟元素)的padding-bottom值大于等于footer的height值,以保證main的內容能夠全部顯示出來而不被footer遮蓋;
最后,設置footer絕對定位,并設置height為固定高度值。
HTML結構:
header main content
CSS設置:
html,body{height:100%;margin:0;padding:0;} .container{min-height:100%;} header{background-color: #ffe4c4;} main{padding-bottom:100px;background-color: #bdb76b;}/* main的padding-bottom值要等于或大于footer的height值 */ footer{height:100px;margin-top:-100px;background-color: #ffc0cb;}/* margin-top(負值的)高度等于footer的height值 */
此方法把footer之前的元素放在一個容器里面,形成了container和footer并列的結構:
首先,設置.container的高度至少充滿整個屏幕;
其次,設置main(.container最后一個子元素)的padding-bottom值大于等于footer的height值;
最后,設置footer的height值和margin-top負值。
這種方法沒有使用絕對定位,但html結構的語義化不如方法一中的結構清晰。
也可以設置負值的margin-bottom在.container上面,此時html結構變化如下:
header main content
CSS設置:
html,body{height:100%;margin:0;padding:0;} .container{min-height:100%;margin-bottom:-100px;} .empty,footer{height:100px;}
使用一個空的div把footer容器推到頁面最底部,同時給container設置一個負值的margin-bottom,這個margin-bottom與footer和.empty的高度相等。
雖然多了一個空的div,語義上也不怎么好,但是相比前面為main元素設置padding-bottom的方法有一個明顯的好處:當網頁內容不滿一屏的時候,如果需要為main元素設置邊框、背景色的時候,padding-bottom硬生生地撐出了一片空白,真真是有點丑,但是加個空的div之后,布局方式作用在.empty上,對main的css設置就不影響了,算是一個好處吧!
方法三:footer高度任意+jsHTML結構:
header main content
CSS設置:
html,body{margin:0;padding: 0;} header{background-color: #ffe4c4;} main{background-color: #bdb76b;} footer{background-color: #ffc0cb;} /* 動態為footer添加類fixed-bottom */ .fixed-bottom {position: fixed;bottom: 0;width:100%;}
js代碼:
$(function(){ function footerPosition(){ $("footer").removeClass("fixed-bottom"); var contentHeight = document.body.scrollHeight,//網頁正文全文高度 winHeight = window.innerHeight;//可視窗口高度,不包括瀏覽器頂部工具欄 if(!(contentHeight > winHeight)){ //當網頁正文高度小于可視窗口高度時,為footer添加類fixed-bottom $("footer").addClass("fixed-bottom"); } } footerPosition(); $(window).resize(footerPosition); });
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/115062.html
摘要:當我們在寫頁面時經常會遇到頁面內容少的時候,會戳在頁面中間或什么反正就是不在最底部顯示,反正就是很難看,下面要講的布局就是解決如何使元素粘住瀏覽器底部,方法一高度固定絕對定位查看效果方法二在主體上的下邊距增加一個負值等于底部高度 showImg(https://segmentfault.com/img/bVbmX36?w=1140&h=641);當我們在寫頁面時經常會遇到頁面內容少的時...
摘要:當我們在寫頁面時經常會遇到頁面內容少的時候,會戳在頁面中間或什么反正就是不在最底部顯示,反正就是很難看,下面要講的布局就是解決如何使元素粘住瀏覽器底部,方法一高度固定絕對定位查看效果方法二在主體上的下邊距增加一個負值等于底部高度 showImg(https://segmentfault.com/img/bVbmX36?w=1140&h=641);當我們在寫頁面時經常會遇到頁面內容少的時...
摘要:方法二高度固定負值代碼頭部中間內容底部信息代碼此方法把之前的元素放在一個容器里面,形成了和并列的結構首先,設置的高度至少充滿整個屏幕其次,設置最后一個子元素的值大于等于的值最后,設置的值和負值。方法一:footer高度固定+絕對定位 HTML代碼: 頭部 中間內容 底部信息 CSS代碼: *{ margin:0; padding:0; } h...
摘要:讓固定在頁面視口底部這是一個讓網站固定在瀏覽器頁面內容小于瀏覽器高度時頁面底部的技巧。如何通過用讓固定在頁面頂部。負外邊距應該與的整體高度相等包括。沒有內容會超出和的標簽,除非超出內容是通過的絕對定位。 讓footer固定在頁面(視口)底部(CSS-Sticky-Footer) 這是一個讓網站footer固定在瀏覽器(頁面內容小于瀏覽器高度時)/頁面底部的技巧。由HTML和CSS實現...
閱讀 752·2021-10-14 09:43
閱讀 2077·2021-09-30 09:48
閱讀 3444·2021-09-08 09:45
閱讀 1097·2021-09-02 15:41
閱讀 1887·2021-08-26 14:15
閱讀 775·2021-08-03 14:04
閱讀 2977·2019-08-30 15:56
閱讀 3074·2019-08-30 15:52