方法一:footer高度固定+绝对定位
<html>
<head>
<style type="text/css">
html{height:100%;}
body{min-height:100%;margin:0;padding:0;position:relative;}
.header{background-color: #ff0000;}
.main{padding-bottom:100px;background-color: #ffff00;}
/* main的padding-bottom值要等于或大于footer的height值 */
.footer{position:absolute;bottom:0;width:100%;height:100px;background-color: #f0ad4e;}
</style>
</head>
<body>
<div class="header">header</div>
<div class="main">main content</div>
<div class="footer">footer</div>
</body>
</html>
效果:
image.png
方法二:footer高度固定+margin负值
<html>
<head>
<style type="text/css">
html,body{height:100%;margin:0;padding:0;}
.container{min-height:100%;}
.header{background-color: #46b8da;}
.main{padding-bottom:100px;background-color: #a5cd4e;}/* main的padding-bottom值要等于或大于footer的height值 */
.footer{height:100px;margin-top:-100px;background-color: #46b8da;}/* margin-top(负值的)高度等于footer的height值 */
</style>
</head>
<div class="container">
<div class="header">header</div>
<div class="main">main content</div>
</div>
<div class="footer">footer</div>
</html>
效果:
image.png
方法三:footer高度任意+js
<html>
<head>
<style type="text/css">
html,body{margin:0;padding: 0;}
.header{background-color: #DE3B3C;}
.main{background-color: #5bc0de;}
.footer{background-color: #FFF4D2;}
/* 动态为footer添加类fixed-bottom */
.fixed-bottom {position: fixed;bottom: 0;width:100%;}
</style>
<script src="js/jquery-1.12.4.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>
网友评论