我对所有元素使用box-sizing: border-box;
,我想制作一个粘性页脚,我尝试了许多不同的方法,但它不起作用。即使我使用position: relative;
作为页脚,当我使用大约zoom: 33%
时,底部和页脚之间也存在间隙。或者当他的页脚position: absolute;
<section>
页脚下,或者小缩放时,页脚与<section>
之间存在间隙。请有人帮帮我。
* {
margin: 0px;
padding: 0px;
}
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
html {
height: 100%;
background-color: purple;
border: 4px dotted purple;
}
body {
position: relative;
min-height: 100%;
background-color: blue;
border: 4px dotted lightblue;
text-align:center;
color: white;
}
nav {
background-color: black;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 70px;
}
header, #page_1 {
height: 800px;
line-height: 800px;
}
header {
background-color: green;
}
#page_1 {
background-color: red;
border: 4px solid yellow;
}
footer {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 100px;
background-color: black;
color: white;
}
&#13;
<!DOCTYPE html>
<html lang="en">
<head>
<title>...</title>
<meta charset="UTF-8" />
</head>
<body>
<nav>Navigation</nav>
<header>Header</header>
<section id="page_1">Section</section>
<footer>FOOTER</footer>
</body>
</html>
&#13;
答案 0 :(得分:0)
您是否已尝试使用http://ryanfait.com/sticky-footer/方法?
你必须把你的所有内容(除了页脚)放在一个像“wrapper”这样的类的div中。 您的导航处于固定位置,因此您也可以将其保留在包装器外部。 在包装器内部,在最后一个位置放置一个带有“push”类的div
然后使用此css
* {
margin: 0;
}
html, body {
height: 100%;
}
.wrapper {
min-height: 100%;
height: auto !important; /* This line and the next line are not necessary unless you need IE6 support */
height: 100%;
margin: 0 auto -155px; /* the bottom margin is the negative value of the footer's height */
}
.footer, .push {
height: 155px; /* .push must be the same height as .footer */
}