我正试图将页脚放在页面底部。
我的HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="main">
<header id="main__header">
<div id="logo"></div>
<div id="search">
<form>
<input type="text" value="Search..." />
</form>
</div>
<nav>
<ul>
<li id="home"><a href="#">Home</a></li>
<li id="about"><a href="#">About Us</a></li>
<li id="carrers"><a href="#">Carrers</a></li>
<li id="newsletter"><a href="#">Newsletter</a></li>
<li id="contact"><a href="#">Contact</a></li>
</ul>
</nav>
</header>
<section id="body__section">
<section id="left__section" class="margin__section">
<article id="news1">
<img src="images/pic.jpg" width="200" height="170" alt="pic1" />
<header> </header>
<div>
<p> </p>
</div>
</article>
<article id="news2">
<img src="images/pic.jpg" width="200" height="170" alt="pic2" />
<header> </header>
<div>
<p> </p>
</div>
</article>
<article id="news3">
<img src="images/pic.jpg" width="200" height="170" alt="pic2" />
<header> </header>
<div>
<p> </p>
</div>
</article>
<article id="news4">
<img src="images/pic.jpg" width="200" height="170" alt="pic3" />
<header> </header>
<div>
<p> </p>
</div>
</article>
</section>
<section id="right__section" class="margin__section">
<aside id="social"></aside>
<aside class="ad"></aside>
<aside class="ad"></aside>
</section>
</section>
<footer> </footer>
</div>
</body>
</html>
我的style.css
* {
margin: 0;
padding: 0;
}
html, body, #main {
height: 100%;
}
html, body, #main_header, nav, ul, footer {
width: 100%;
}
#main {
position: relative;
margin: 0 auto;
width: 1100px;
}
#main__header {
position: relative;
height: 180px;
margin: 0 auto;
background-color: #ff532a;
}
#logo {
position: relative;
top: 5px;
left: 20px;
border: 1px solid #fff;
width: 206px;
height: 75px;
}
#search {
position: absolute;
top: 5px;
right: 20px;
}
nav {
position: absolute;
bottom: 10px;
}
ul {
display: block;
list-style-type: none;
clear: right;
width: 1061px;
margin: 0 auto;
}
nav ul li {
display: block;
width: 209px;
float: left;
margin-left: 4px;
}
#home {
margin-left: 0px !important;
}
nav ul li a {
display: block;
text-align: center;
text-decoration: none;
color: #fff;
font-size: 1.4em;
height: 35px;
padding: 5px;
border: 1px solid #fff;
border-radius: 8px;
}
#body__section {
width: 100%;
height: 100%;
padding-bottom: 20px;
}
#left__section {
width: 810px;
height: 100%;
float: left;
}
#right__section {
width: 250px;
height: 100%;
float: right;
border-top: 1px solid #d2d3d2;
}
.margin__section {
margin-top: 30px;
}
article {
position: relative;
border-top: 1px solid #d2d3d2;
border-bottom-width: thin;
height: 230px;
width: 100%;
}
section article img {
margin: 30px;
}
section article div {
position: absolute;
top: 30px;
right: 0px;
width: 550px;
height: 170px;
background-image: url('images/article.jpg');
}
.border__solid {
border: 1px solid #000;
}
#right__section aside {
width: 100%;
margin-top: 30px;
}
#social {
height: 50px;
background-color: #e7e8e7;
}
.ad {
height: 377px;
background-color: #ffffa1;
}
footer {
left: 0px;
right: 0px;
bottom: 0px;
height: 180px;
background-color: #beb0ff;
}
问题是灰色页脚位于该部分下方的中间位置。我真的希望页脚位于页面底部,而不是固定。
答案 0 :(得分:1)
您需要在容器部分中的两个浮动部分之后添加一个带有“clear:both”的元素。然后你必须从容器部分删除“height:100%”。
所以,添加到你的CSS:
#body__section {
width: 100%;
height: auto;
padding-bottom: 20px;
}
将您的“#body__section”更改为:
<div class="clear"></div>
并在“body__section”结束前添加到您的html中:
json_list = json.dumps(sensor_data, cls=DjangoJSONEncoder)
return render(request,'history.html', {"sensor_data": reversed(json_list)})
答案 1 :(得分:1)
我建议使用这个CSS ...
from foo import Foo
test_bars = [ 1, 2, 3 ]
f = Foo(test_bars)
...并将'主要元素排除在此规则之外:
#main {
position: relative;
margin: 0 auto;
width: 1100px;
min-height: 100%;
padding-bottom: 180px;
}
footer {
position: absolute;
left: 0px;
right: 0px;
bottom: 0px;
height: 180px;
background-color: #beb0ff;
}
所以它变成了
html, body, #main {
height: 100%;
}
这会使页脚成为 html, body {
height: 100%;
}
的子项,绝对位于其底部,#main
上有足够的padding-bottom
以防止任何重叠(180px,就像页脚的高度一样), #main
的{{1}}为min-height
,以确保页脚位于不高的页面的底部。
答案 2 :(得分:0)
这些更改将为您解决问题:
#main {
position: relative;
margin: 0 auto;
height: auto; //changing to auto
width: 1100px;
}
footer {
left: 0px;
right: 0px;
bottom: 0px;
height: 180px;
background-color: #beb0ff;
position: relative; //changing to relative
clear: both; //clearing previous divs
}
希望这有帮助!