html - 另一个 flex 元素内的 Flex 元素在 Safari 上折叠
问题描述
我在 Chrome 上运行了这段代码,其中第一个flex-item的内容需要与底部对齐并在必要时拉伸:
body {
height:100vh;
color: white;
font-weight: bold;
font-size: 2em;
text-align: center;
}
.flex-container {
padding: 0;
margin: 0;
height: 100%;
display: flex;
flex-direction: column;
}
.flex-item {
background: tomato;
padding: 10px;
border: 5px solid red;
flex: 0 1 auto;
}
.flex-stretch {
height: 100%;
display: flex;
flex-direction: column;
justify-content: flex-end;
flex: 1 1 auto;
}
<div class="flex-container">
<div class="flex-item flex-stretch">1</div>
<div class="flex-item">2<br>2<br>2<br>2<br>2<br>2<br>2<br>2</div>
<div class="flex-item">3</div>
</div>
但在 Safari 上,它不尊重第一个flex-item的内容,如果视口小于flex-container并且需要滚动,它就会折叠。
有没有解决这个问题的方法?
谢谢,这是我的第一个问题:)
这是codePen:https ://codepen.io/felphos/pen/GRZVKwY
解决方案
由于您使用 flexbox,您不应该明确定义高度。我认为删除height: "100%"
和设置.flex-stretch{flex: 1 0 auto;}
(0 flex-shrink) 会让你得到你想要的。
推荐阅读
- python-3.x - 在 numpy ndarray 的共轭上应用 numpy fft 时出现“TypeError:需要浮点数”错误
- roslyn - Roslyn - SyntaxFactory - 解析语句 - 添加回车/换行?
- javascript - 输入键和onclick一起
- angular - 角度变化输入值及显示
- laravel - Dusk 中的 URL 断言使用哪个函数?
- django - Django:按距离排序对象
- forms - Kentico 更新订单项目替代形式
- javascript - ReactJS Promise - _this.setExitAnimation 未定义
- javascript - 如何提交放置在数据表中的表单?
- python-3.x - 在 Keras 中实现自定义损失函数