【发布时间】:2018-06-18 19:53:14
【问题描述】:
我不知道是否可以通过 CSS 仅在 relative 元素下有一个 absolute footer - 由于它的性质,高度不同:内容或响应能力的变化.我的 HTML(使用 Angular 5):
<main>
<app-navbar></app-navbar>
<div class="content-container" [@fadeAnimation]="routeTransition(outlet)">
<router-outlet #outlet="outlet"></router-outlet>
</div>
<app-footer></app-footer>
</main>
我想要这样做的原因是因为相对元素包含用户的视图,并且我使用的角度动画恰好“要求”显示的元素是绝对定位的,以便获得所需的可视化.
问题在于,对于大型元素,我遇到了问题,因为页脚也是绝对的,如果有意义的话,确实会与实际内容重叠。
我想在页面底部有一个“粘性页脚”,以便它具有绝对配置等(app-footer 将呈现页脚):
footer{
position: absolute;
right: 0;
bottom: 0;
left: 0;
width: 100%;
padding: 1rem;
}
我的 CSS:
main{
padding-top: 10px;
padding-bottom: 100px;
}
.content-container{
position: relative;
}
/deep/ router-outlet~* {
position: absolute;
width: 100%;
height: 100%;
}
在我将 relative 添加到 .content-container 以获得内部元素的绝对位置之前,这一切正常。
我遇到的一种可能的解决方法是为 .content-container 类提供固定高度并执行不同的分辨率,以便我可以向下推页脚。但是,我认为这可能不是最好的方法。如果有任何帮助,我正在使用 Angular 4。我还查看了How to position element below relative positioned element without overlapping?,但同样,建议的解决方案是对高度进行硬编码。
更新 1:我已经用更详细的信息更新了问题。希望现在清楚了。
更新 2:Plunker:https://plnkr.co/edit/FHhncrGBcO9jaNRiUfJQ?p=preview
【问题讨论】:
-
从问题来看,它不太清楚屏幕上所需的输出。你能详细说明为什么要在相关容器下放置一个浮动页脚吗?
-
我错过了什么(HTML6?)或者这不是 HTML?