页面内容的页脚

时间:2012-06-11 03:13:32

标签: html css

我试图将脚贴在页面底部。为此,我阅读了很多网站,所有这些网站都告诉我相同的内容。

在我完成所提到的内容之后,我的页脚确实停留在底部...但是......页面的内容已被覆盖!

我的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>

有人可以帮助我吗?我真的不知道该尝试什么。 =(

提前感谢所有人!

3 个答案:

答案 0 :(得分:1)

这是一个小提琴,你的标记被修改以实现粘性页脚:

http://jsfiddle.net/2MXvP/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建议的填充。