【问题标题】:How to set footer stick bottom if `.content` is `absolute`?如果`.content`是`absolute`,如何设置页脚底部?
【发布时间】:2013-06-09 12:15:29
【问题描述】:

如果.contentabsolute,如何设置页脚粘贴底部?

我试过this 和另一个使用相同的方法添加填充底部....但如果.content 设置为绝对位置和顶部,则它不起作用

p.s 我不想固定页脚...

谢谢。

.head{
    position: absolute;
    left: 0;
    top: 40px;
    height: 160px;
}
.content{
    position: absolute;
    top: 200px;
}
.footer{
    position: absolute;
    bottom: 0;
}
<body>
    <div class="head"></div>
    <div class="content"></div>
    <div class="footer"></div>
</body>

【问题讨论】:

    标签: css


    【解决方案1】:

    假设您想使用链接到的答案中提供的解决方案,您必须停止使用position: absolute。可以用边距代替top

    .head {
        margin: 40px 0;
        height: 160px;
    }
    

    但是,尝试使用粘性页脚技巧会触发 CSS 的一个不幸属性:如果您在第一个子元素上有边距,则该边距将传播到父元素。这会导致粘页脚技巧出现问题。

    解决方案是在包装器上使用padding,而不是在标题上使用margin-top。您的代码可能如下所示:

    .wrap {
        padding-top: 40px;
    }
    .head {
        margin-bottom: 40px;
        height: 160px;
    }
    

    进行了这些更改后,您链接到的答案中描述的方法应该可以工作。

    【讨论】:

    • 还有其他方法可以制作粘性页脚吗?因为如果使用此方法,容器内的所有块都无法轻松设置绝对或相对位置、顶部、高度......
    • @vibskov:您可以在.content 上设置position: relative.content 中的所有position: absolutes 都将与它相关。
    猜你喜欢
    • 1970-01-01
    • 2015-10-25
    • 2018-10-11
    • 2020-09-22
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-21
    相关资源
    最近更新 更多