如何将页脚放在页面底部?我已经搜索了stackoverflow,似乎没有什么能解决它。页脚会在整个地方移动,但永远不会在底部请求帮助。
<!DOCTYPE HTML>
<html>
<head>
<link type="text/css" rel="stylesheet" href="dereke.css"/>
<title>
</title>
</head>
<body>
<div class="Header">
<p>Ohio State Buckeyes</p>
<div id="logo">
<img src="http://vignette2.wikia.nocookie.net/logopedia/images/6/6f/1000px-Ohio_State_Buckeyes_logo_svg.png/revision/latest?cb=20130425230958" />
</div>
<div id="navbar">
<ul>
<li>Home</li>
<li id="noUD">|</li>
<li>About Us</li>
<li id="noUD">|</li>
<li>Contact Us</li>
</ul>
</div>
</div>
<div class="MidBody">
<div id="leftbody">
<img src="http://printableteamschedules.com/images/collegefootball/ohiostatebuckeyesfootballschedule.gif" />
</div>
<div id="rightbody"></div>
<div id="lowerbody">
<img src="http://grfx.cstv.com/schools/osu/graphics/facilities/stadium-night-800x325.jpg" />
</div>
</div>
<div class="footer"></div>
</body>
</html>
我知道问题出在CSS中:
.Header {
width: calc(100%-16px);
height: 150px;
border-radius: 5px;
}
.Header p {
color: white;
margin-top: -5px;
width: 600px;
font-size: 70px;
}
.MidBody {
background-color: #141414;
width: 100%;
height: 850px;
margin-top: 10px;
border-radius: 5px;
position: absolute;
display:block;
}
.footer {
bottom: 0;
left: 0;
right: 0;
height:100px;
width: 100%;
margin-top: -3em;
background-color: #CCCCCC;
border-radius: 5px;
}
#leftbody {
width: 49%;
height: 425px;
left: 0;
margin-top: 3px;
margin-left: 3px;
position:absolute;
z-index: 1;
border-radius: 5px;
}
#leftbody img {
width: 490px;
height: 420px;
border-radius: 5px;
margin-top: 2px;
margin-left: 2px;
}
#rightbody {
background-color: #F1F1F1;
width: 49%;
height: 425px;
right: 0;
margin-top: 3px;
margin-right: 3px;
position:absolute;
z-index: 1;
border-radius: 5px;
}
#lowerbody {
width: 99%;
height: 49%;
right: 0;
left: 0;
margin-left: auto;
margin-right: auto;
margin-top: 432px;
margin-bottom: 2px;
border-radius: 5px;
postion: relative;
}
#lowerbody img {
width: 800px;
height: 325px;
border-radius: 5px;
}
body {
background-color: black;
}
li {
display: inline;
padding: 1px;
text-decoration: underline;
}
#navbar {
width: 350px;
color: #F8F8F2;
font-family: Arial Black;
margin: -35px;
text-align: left;
line-height: 10px;
}
#noUD {
text-decoration: none;
}
#logo img {
margin-top: -150px;
margin-right: 50px;
width: 15%;
height: 15%;
float: right;
}
答案 0 :(得分:1)
您在position: absolute;
,.MidBody
和#rightbody
上定义#leftbody
,这会从文档流中删除它们,并允许页脚向上移动到导航链接。将这些更改为position: relative;
并从中删除top
,left
,bottom
和right
属性,因为它们仅适用于position: absolute
个元素
您在position
中也拼错了#lowerbody
。
此外,height
上设置的静态.MidBody
属性和margin-top: 432px;
上的#lowerbody
会导致它们显示在您的.footer
元素之后。< / p>
修复这些内容会将页脚放到页面底部(但您仍需要处理许多其他格式问题)。您可以使用我设置的JSBIN来继续测试您的页面格式,直到它看起来如您所愿。
祝你好运。