方法一:footer高度固定+絕對定位
<html> <head> <style type="text/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;} </style> </head> <body> <div class="header">header</div> <div class="main">main content</div> <div class="footer">footer</div> </body></html>
效果:
方法二:footer高度固定+margin負值
<html> <head> <style type="text/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值 */ </style> </head> <body> <div class="container"> <div class="header">header</div> <div class="main">main content</div> </div> <div class="footer">footer</div></html>
方法三:footer高度任意+js
<html> <head> <style type="text/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%;} </style> <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script> <script type="text/javascript"> $(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"); } else { $("footer").removeClass("fixed-bottom"); } } footerPosition(); $(window).resize(footerPosition); }); </script> </head> <body> <div class="header">header</div> <div class="main">main content</div> <div class="footer">footer</div> </body></html>