【发布时间】:2018-10-30 13:34:20
【问题描述】:
由于 position:fixed 有几个缺点,我试图通过使用 flexbox 创建一个固定的页脚。我有一个带有方向行的 flex 容器,并对其应用了 overflow-y:auto。现在,当弹性项目的内容超过可见区域的高度并且出现滚动条时,弹性项目不会将它们的高度拉伸到容器的高度,而是坚持可见区域的高度。结果是文本没有完全覆盖背景颜色。 HTML:
<body>
<div id="middle">
<nav>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna
aliquyam erat, sed diam voluptua.
</nav>
<main>
Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum
dolor sit amet.
Content shortened; more content to make the scrollbar appear
</main>
</div>
<!-- Main Bereich Ende -->
<!--Footer Anfang -->
<footer>
<div id="footerleft">
<h2>Letzte Änderung
<br>20.05.2018</h2>
</div>
<div id="footermiddle">
<h3>Copyright © 2018 xxx - Alle Rechte vorbehalten</h3>
</div>
<div id="footerright">
<a href="#jump-body">
<img src="images/buttonup.png" title="Zum Seitenanfang" alt="Zum Seitenanfang"></img>
</a>
</div>
</footer>
<!--Footer Ende -->
</body>
CSS:
body {
margin: 0;
padding: 0;
height: 100vh;
display: flex;
flex-direction: column;
}
#middle {
flex: 1 1 auto;
display: flex;
flex-direction: row;
align-items: stretch;
overflow-y: auto;
}
nav {
flex: 1;
background-color: blue;
}
main {
flex: 4;
background-color: maroon;
}
footer {
width: 100%;
flex: 0 0 auto;
display: flex;
}
#footerleft {
flex: 2;
}
#footermiddle {
flex: 6;
}
#footerright {
flex: 2;
}
#footerright img {
width: 30px;
height: 30px;
display: block;
margin: 0px auto auto;
}
如何解决这个问题?
【问题讨论】:
-
可以使它成为一个有效的 sn-p 以便我们可以更好地看到问题
-
这里是:webentwicklung.ulrichbangert.de/… 使滚动条出现并向下滚动。
-
顺便说一句:“2 天内有资格获得赏金的问题”是什么意思? (英语不是我的母语。)