我正在创建一个带有position: fixed;
页脚的页面,它需要在滚动时展开,但至少占据页面的100%。我想让我的主 Package 器占据整个空间,而不会位于页脚后面。因此创建了一个带有calc(100vh - 120px)
的min-height
。以下是代码:
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body,
html,
#app {
min-height: 100vh;
max-width: 100vw;
}
#wrapper {
min-height: calc( 100vh - 120px);
height: auto;
max-width: 100vw;
}
footer {
height: 120px;
width: 100%;
}
<footer>
<section id="lien-express">
<div class="lien-express-1">
<p>Lien lien-express</p>
</div>
<div class="lien-express-2">
<p>Lien lien-express</p>
</div>
</section>
<nav>
<RouterLink to="/">Home</RouterLink>
<RouterLink to="/about">About</RouterLink>
<RouterLink to="/portfolio">About</RouterLink>
<RouterLink to="/catalogue">About</RouterLink>
</nav>
</footer>
<main id="wrapper">
<RouterView />
</main>
我的问题是,当我告诉<div>
大于100vh
时,calc
函数不起作用。<div>
占用了所有空间,而没有考虑calc
:
下面是控制台的屏幕截图,向您展示了差异
使用100vh
时:
超过100vh
时:
2条答案
按热度按时间bpsygsoo1#
如果你真正想要的是一个布局,将始终填充至少100%的视口和主要内容拉伸,以填补任何空间,而页脚是在内容的底部,那么你应该使用网格如下:
已编辑,以便页脚始终停留在视口底部
4uqofj5v2#
所以最后一个对我有效的解决方案是:
calc不考虑自动高度,所以当我尝试用calc计算时,我不能用一个未知变量来计算,但是我可以创建一个父代,它通过填充来完成calc的工作,把元素放在里面。