CSS样式格式

时间:2014-09-15 10:22:43

标签: css

当我降低页脚的高度时,我的页脚及其内容不会彼此成比例重新定位。

CSS代码:

#footer {
    clear: right;
    background: #d1dceb;
    text-align: right;
    padding: 20px;
    width: 70%;
    float: right;
    height: 5px;
}

#footer p.left {
    float: left;
    text-align: left;
    margin-left: 5px;
}

#footer p.right {
    float: right;
    text-align: right;
    margin-right: 5px;
}

这就是我得到的:

enter image description here

我应该做些什么来解决这个问题?

4 个答案:

答案 0 :(得分:0)

删除height并添加overflow: hidden

#footer
{
    clear: right;
    background: #d1dceb;
    text-align: right;
    padding: 20px;
    width: 70%;
    overflow: hidden;
}

答案 1 :(得分:0)

<div style="clear:both;"></div>

在页脚div结束之前,还尝试从页脚删除高度

答案 2 :(得分:0)

好吧,你没有添加任何上下文和任何HTML标记。但这很重要:

#footer {
    clear: right; /* why are you doing this? **/
    background: #d1dceb;
    text-align: right;
    padding: 20px;
    width: 70%;
    float: right; /* why are you doing this? **/
    height: 5px;
}

看看那些评论的行,很可能你完全不需要。

现在,在您的问题中,您可以使用两个选项:

1)使用“clearfix”方法清除浮点数:只需添加一个空div来清除前面元素的浮点数,如下所示:

<div class="clearfix"></div>

然后在CSS中:

.clearfix{clear:both; float:none;}

显然,你可以根据需要多次使用它,因为你正在使用可重复使用的类。

选项2如下:

#footer p.right:after {content:'';clear:both; float:none; }

我们在这里做的是添加一些“空”内容,但我们为其分配"clear:both"属性以清除所有内容,或多或少,就像我们在选项1中添加了div一样

当然选项1 更好,但是,你去了

答案 3 :(得分:0)

您正在使用float来放置元素,这意味着将浮动元素的高度设置为0,就像使用positioning: absolute一样。不要使用浮子!使用flex。

#footer {
    background: #d1dceb;
    padding: 20px;
    width: 70%;
    display: flex;
    margin: 0 auto; /* center element */
}

#footer p {
  flex: 1 1 auto; /* fill up the entire available space */
}

#footer p.right {
  text-align: right;
}
<div id="footer">
  <p>Left footer element</p>
  <p class="right">Right footer element</p>
</div>