Flexbox 子元素高度:实现 100% 父元素填充
在 Flexbox 的世界中,填充子元素的垂直空间是一个常见的挑战。让我们考虑一下您提供的代码片段:
.container { height: 200px; width: 500px; display: flex; flex-direction: row; } .flex-1 { width: 100px; background-color: blue; } .flex-2 { position: relative; flex: 1; background-color: red; } .flex-2-child { height: 100%; width: 100%; background-color: green; }
在这种情况下,flex-2-child 元素无法占据其父容器的完整垂直空间,除非 flex-2 的高度为 100 % 或当 flex-2-child 具有绝对位置时。然而,这两种解决方案都有各自的缺点。
解决方案:Align-Items Stretch
一种有效的解决方法是在父容器上使用align-items 属性( flex-2):
.flex-2 { display: flex; align-items: stretch; }
注意高度:100%;应从子组件 (flex-2-child) 中删除属性。
此方法指示 flex-2-child 元素垂直拉伸,填充其父容器内的可用空间。它适用于 Chrome 和 Firefox。
作为align-items 的替代方案,您可以将align-self 专门应用于要拉伸的flex-2-child 元素:
.flex-2-child { align-self: stretch; }
通过利用任一技术,您都可以实现让 Flexbox 子元素填充其父元素的整个高度的所需行为。
以上是如何使 Flexbox 子元素填充其父元素高度的 100%?的详细内容。更多信息请关注PHP中文网其他相关文章!