我试图将脚贴在页面底部。为此,我阅读了很多网站,所有这些网站都告诉我相同的内容。
在我完成所提到的内容之后,我的页脚确实停留在底部...但是......页面的内容已被覆盖!
我的CSS具有以下属性:
html, body {
height: 100%;
}
body {
margin: 0px;
font-family: Arial;
background-image: url("../img/bg2.jpg");
}
.geral {
min-height:100%;
position: relative;
}
.container {
width: 900px;
}
.container img {
width: 250px;
float: left;
}
.container .btn_criar_conta {
width: 100px;
float: right;
}
.container .user_detail {
width: 300px;
float: right;
}
#topo_pagina {
height: 110px;
}
.box_login_conteiner {
width: 410px;
text-align: left;
}
.box_login {
width: 350px;
min-height: 200px;
background-color: white;
font-family: Arial;
font-size: 13px;
text-align: right;
padding: 10px;
border: 1px white solid;
border-radius: 0.5em;
color: grey;
box-shadow: lightgrey 0.0em 0.5em 0.9em;
padding-right: 50px;
}
.box_login li {
list-style: none;
}
.box_login a {
color: blue;
text-decoration: none;
}
.box_login a:hover {
color: blue;
text-decoration: underline;
}
.box_login input {
border: 1px whitesmoke solid;
border-radius: 0.5em;
box-shadow: lightgrey 0.0em 0.1em 0.1em;
height: 30px;
width: 250px;
padding: 5px;
color: grey;
}
.box_login .img {
border: none;
width: 100px;
}
.box_login .btn_submit {
border: 1px seagreen solid;
border-radius: 2em;
box-shadow: grey 0.0em 0.1em 0.1em;
height: 30px;
width: 100px;
padding: 5px;
color: white;
background-color: seagreen;
}
.index_login {
text-align: justify;
float: right;
width: 400px;
color: #2b3856;
font-family: Geneva;
}
.index_login img{
text-align: right;
width: 400px;
}
.index_login hr {
background-color: lightblue;
border: 0px;
}
.info_login {
font-size: 11px;
padding: 5px;
background-color: lightgrey;
border-radius: 0.5em;
color: grey;
}
.info_login a {
color: blue;
text-decoration: none;
}
.info_login a:hover {
color: blue;
text-decoration: underline;
}
.box_registrar_conteiner {
width: 430px;
text-align: left;
}
.box_registrar {
width: 430px;
min-height: 200px;
background-color: white;
font-family: Arial;
font-size: 13px;
text-align: right;
padding: 10px;
border: 1px white solid;
border-radius: 0.5em;
color: grey;
box-shadow: lightgrey 0.0em 0.5em 0.9em;
padding-right: 50px;
}
.box_registrar li {
list-style: none;
}
.box_registrar a {
color: blue;
text-decoration: none;
}
.box_registrar a:hover {
color: blue;
text-decoration: underline;
}
.box_registrar input {
border: 1px whitesmoke solid;
border-radius: 0.5em;
box-shadow: lightgrey 0.0em 0.1em 0.1em;
height: 30px;
width: 250px;
padding: 5px;
color: grey;
}
.box_registrar .img {
border: none;
width: 100px;
}
.rodape {
position: absolute;
bottom: 0;
width: 100%;
height: 150px;
background-color: grey;
color: white;
font-family: Geneva;
font-size: 11px;
}
.rodape a {
color: white;
text-decoration: none;
}
.rodape a:hover {
color: white;
text-decoration: underline;
}
.rodape #menu {
float: left;
margin-right: 50px;
}
.container_footer {
width: 900px;
text-align: left;
}
我的HTML就像这样:
<html>
<head>
<title>Site</title>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/style1.css">
</head>
<body>
<div class="geral">
<div id="topo_pagina">
<div align="center">
<div class="container">
<br/>
<br/>
<a href="/"><img src="{{ STATIC_URL }}img/logo1.png"></a>
{% if user.is_authenticated %}
<div class="user_detail">
<br/>
Olá {{ user.first_name|capfirst }}! - <a href="/logout/">Logout</a>
</div>
{% else %}
<a href="/login/"><input type="image" src="{{ STATIC_URL }}img/btn_logar_conta.png" class="btn_criar_conta"></a>
<a href="/registrar/"><input type="image" src="{{ STATIC_URL }}img/btn_criar_conta.png" class="btn_criar_conta"></a>
{% endif %}
</div>
</div>
</div>
<div id="conteudo_pagina">
<div align="center">
<div class="container">
{% block conteudo_pagina %}
{% endblock %}
</div>
</div>
</div>
<br clear="all">
<div class="rodape">
<div align="center">
<div class="container_footer">
<div id="menu">
<h4>Multiplikação</h4>
<a href="/login/">Acessar</a><br/>
<a href="/registrar/">Criar conta</a><br/>
</div>
<div id="menu">
<h4>Sobre a empresa</h4>
Quem somos<br/>
Nosso time<br/>
Trabalhe com a gente<br/>
</div>
<div id="menu">
<h4>Conectividade</h4>
Facebook<br/>
Twitter<br/>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
有人可以帮助我吗?我真的不知道该尝试什么。 =(
提前感谢所有人!
答案 0 :(得分:1)
这是一个小提琴,你的标记被修改以实现粘性页脚:
我使用的技术就是这个:http://www.cssstickyfooter.com/
重大变化是:
.rodape
元素已在标记中移动,因此它是.geral
的兄弟。.rodape
的上限与您的身高相当。.geral
有一个新的子元素.main
,其底部填充等于.rodape
的高度。 我可能也进行了一些其他CSS更改,但仅限于.rodape
,.geral
和.main
。
如果你看一下上面链接的http://www.cssstickyfooter.com/,你应该能够弄清楚它是如何运作的。该页面上有一些关于IE和Opera兼容性的说明,我没有在我的小提琴中实现,我只在Chrome中测试过。
答案 1 :(得分:0)
听起来您希望页脚始终可见,但您不希望内容的底部被其覆盖。如果是这种情况,您可以在.geral类中添加padding-bottom属性。
不幸的是,我不确定你的页脚是什么,你的CSS中没有任何东西真正帮助我解决这个问题,但是这里有一个例子,假设你的页脚是200px高:
.geral {padding-bottom:200px}
应该给你足够的空间来查看页脚,而不会遮盖任何内容。
修改强> 如果你希望它始终可见,但不要覆盖文本,请将.rodape从.geral中取出并放入body标签内。你的html现在应该这样:
<html>
<head>
<title>Site</title>
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}css/style1.css">
</head>
<body>
<div class="rodape">
<!-- rodape content -->
</div>
<div class="geral">
<!-- geral content -->
</div>
</body>
</html>
将此样式添加到CSS
.rodape {width:100%; height:200px; position:fixed;}
.geral {padding-bottom:200px;}
我认为这样可以达到你想要的效果。
答案 2 :(得分:0)
简单:
从你的css中移除
position: absolute;
(上面的css第189行)。
您的页脚覆盖内容的原因是因为它的定位是绝对,因此将其从正常的内容流中取出。一旦删除上面提到的行,默认情况下.rodape将被静态定位 - 然后它将考虑它之前的元素(例如#conteudo_pagina)并将它放在它们之后(不覆盖它们)。
您可能想知道的一件事:
<br clear="all">
使用 clear ,这是一个不想在css中使用的弃用HTML属性。尝试使用ABCaesar建议的填充。