【发布时间】:2021-11-12 07:40:50
【问题描述】:
我有几页内容不多。整个网站采用网格布局设计——基本的页眉、主页和页脚:
目标是将页脚设置在屏幕底部,并在内容中留出空白,如果页面上没有很多这样的内容:
出于演示目的,我在此页面上使用了 50vh 的 margin-bottom。
但是,例如,如果一篇博文大于 100vh,页脚仍应出现在底部 - 当然没有空格:
用户需要滚动才能看到页面底部的页脚。
什么是实现这种行为的“最佳实践”方式(最好不使用 JS(?))?
一些代码供那些可能想查看网页结构的人使用:
/* inside this class the content is wrapped into the grid layout */
.container {
display: grid;
grid-template-areas:
"header header header header header"
". recent-posts recent-posts recent-posts ."
"footer footer footer footer footer";
grid-template-columns: repeat(5, minmax(0, 1fr));
gap: 10px;
}
/* setting header, main and footer as grid layout */
header {
grid-area: header;
border-bottom: 1px solid;
border-radius: 4px;
margin-bottom: 2vh;
}
main {
grid-area: recent-posts;
}
footer {
grid-area: footer;
margin-top: 1vh;
padding: 0.2vh;
border: 1px solid;
border-radius: 4px;
}
如果有人想查看整个代码,我将源代码发布到我的GitLab。
【问题讨论】:
-
您是否尝试应用“底部:0;”和“位置:绝对”到您的页脚 css`?
-
你不能为此使用 flexbox 并让它更容易吗?
-
@AbinThaha Flexbox 和 Grid 布局有不同的用途。如果您能熟练使用 Flexbox,那就太好了,但这不是我所要求的。无论如何感谢您的阅读! :) Difference between Flexbox and Grid by the MDN
-
他们有不同的目的,我完全同意。但是在阅读了你的问题之后,我觉得 flexbox 会是一个更好的解决方案。 @Simpletech