html - min-height 父级的子元素不尊重父级的 100% 高度
问题描述
我正在尝试创建一个带有页眉和页脚的 2 列布局。我希望页面最初是全高(100vh),如果内容很长,可以扩展其高度。
这是一个 CodePen,显示了我正在尝试实现的部分目标: https ://codepen.io/realslimsutton/pen/eYWzavw
上述 CodePen 的问题在于其高度固定为 100vh。如果我将容器的高度更改min-height: 100vh;
为height: 100vh;
,则 2 列会将其高度重置为 0。
min-height
可以在此 CodePen 中找到不使用 set 的示例: https ://codepen.io/realslimsutton/pen/xxdONjO 。
我已经尝试过以下事情:
height: 100%;
在所有子元素上.container .content
align-self: stretch;
在所有子元素上.container .content
align-items: stretch;
在里面的所有父元素上.container .content
以上尝试均无效,列从未填充父项的高度。
解决方案
只改变了几件事。不要忘记默认是display: block
* {
box-sizing: border-box;
}
html, body {
margin: 0;
padding: 0;
}
.container {
min-height: 100vh;
width: 100%;
display: flex;
flex-direction: column;
justify-content: space-between;
}
.container > .header, .container > .footer {
height: 10vh;
width: 100%;
}
.container .header {
background-color: rgb(239, 68, 68);
}
.container .footer {
background-color: rgb(59, 130, 246);
}
.container .content {
/*Line added since the default is block it wasn't working with
flex grow*/
display: flex;
flex-grow: 1;
}
.container .grid {
/*Now that your content "grows" you can inherit its height*/
height: inherit;
width: 100%;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
}
.container .grid > div {
height: 100%;
width: 100%;
}
.container .grid .left, .container .grid .right {
height: 100%;
width: 100%;
}
.container .grid .left {
background: rgb(16,185,129);
}
.container .grid .right {
background: rgb(139,92,246);
}
<div class="container">
<div class="header"></div>
<div class="content">
<div class="grid">
<div>
<div class="left">
</div>
</div>
<div>
<div class="right">
</div>
</div>
</div>
</div>
<div class="footer"></div>
</div>
推荐阅读
- html - 您能否仅使用 HTML 和 CSS 而不使用脚本或编程对网页进行交叉引用?
- django - 为什么 Django 创建一个新实例而不是更新?
- docker - 码头工人组成后詹金斯没有工作
- linux - TestCafe:导出命令在 Linux 中不起作用
- javascript - 前台的新选项卡仅在浏览器最小化时有效
- nativescript - Nativescript/Angular - 在蓝牙迷你打印机中打印
- node.js - 是否可以在 req.body 中添加额外的字段并使用 nodejs 将它们添加到集合中?
- python - 如何从avro文件中删除数据
- camera-calibration - 宽视野和大基线鱼眼立体相机校正
- r - 匹配igraph中的顶点和边缘颜色