html - Flex 页眉、内容、页脚布局
问题描述
在下面的代码中,我希望内容部分填充到页脚到达屏幕底部的位置。
编辑:也许我应该对中心对齐更清楚一点。页眉和页脚应垂直对齐,所有三个项目都需要从左垂直线开始,如下所示:
我怎样才能做到这一点?
html, body {
margin: 0;
padding: 0;
}
container{
display: flex;
flex-direction: column;
position: fixed;
top: 0;
width: 100%;
}
header {
height: 92px;
background-color: #FFFFFF;
border: 1px solid #DCE5EB;
}
footer {
height: 92px;
border: 1px solid #DCE5EB;
background-color: #FFFFFF;
}
.content {
height: 700px;
flex: auto;
background-color: #FFFFFF;
}
<div class="container">
<header>Header</header>
<div class"content">Content</div>
<footer>Footer</footer>
</div>
解决方案
你忘了=
在你的课程中添加content
。这是一个简单的错字。
并为您的内容。因为你有header
和的静态高度footer
。您可以100vh
为您的内容提供高度,并减少高度header
和footer
加上不要忘记考虑border
即2px
总。它会解决你的问题。
编辑:可以通过给出line-height
等于来实现垂直对齐height
。并将其与您的边距对齐。您可以使用margin
或padding
,具体取决于您的要求。或者你甚至可以使用
display:flex;
align-items:center;
从您的内容中删除94px
+94px
html,
body {
margin: 0;
padding: 0;
}
container {
display: flex;
flex-direction: column;
top: 0;
border: 10px solid black;
}
header {
display: flex;
align-items: center;
height: 92px;
background-color: #FFFFFF;
border: 1px solid #DCE5EB;
padding: 0 30px;
}
footer {
height: 92px;
display: flex;
border: 1px solid #DCE5EB;
background-color: #FFFFFF;
align-items: center;
padding: 0 30px;
}
.content {
min-height: calc(100vh - 94px - 94px);
background-color: #FFFFFF;
padding: 0 30px;
}
<div class="container">
<header>Header</header>
<div class="content">Content</div>
<footer>Footer</footer>
</div>
推荐阅读
- ios - 列出所有附加到 SCNNode 的 CAAnimation
- c# - 创建安装包,包括 SQL 静默安装和 C# Winforms 项目
- python - 如何解决错误消息:“NoneType”对象没有属性“DataFrame”
- sql - SQL Server:在一张表上创建两个外键时出错
- python - Pyinstaller 无法识别 glob.glob 来遍历文件?
- arrays - 如何改进算法来检查数组中是否有一个元素等于数组中任何其他两个元素之间的差?
- sql-server - 仅当存储过程中有值时如何显示结果集
- javascript - 一次又一次地使用相同的查询选择器是否有性能成本?
- mysql - 解决更新同一个表的触发器
- jmeter - 在一定间隔后运行相同的 Jmeter 线程组