在 Safari 中重叠 CSS 个 flexbox 项目
Overlapping CSS flexbox items in Safari
强制 Safari 在默认弹性容器内不重叠弹性项目的正确 CSS 是什么?
Safari 似乎为包含大量内容的弹性项目提供了太多宽度。
Safari:(Mac OS X 10.10.5 Yosemite 上的 v8.0.8)
弹性项目在 Chrome 和 Firefox 中显示良好。
Chrome:
CSS:
main {
display: flex;
border: 3px solid silver;
}
main >div {
background-color: plum;
margin: 10px;
}
HTML:
<main>
<div>
Doh!!!!!!!!!!!
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam.
</div>
</main>
Fiddle 代码:
http://jsfiddle.net/LL05grus/6
元素正在收缩。您需要在收缩元素上将 flex-shrink
属性 设置为 0
。
main >div:first-child {
-webkit-flex: 0;
flex-shrink: 0;
}
我也有一个类似的问题,弹性框方向更改为 iPad 上的列重叠项目。问题在于 flex: 0 1 0;
属性 应用于子元素。给基值自动。 flex: 0 1 auto;
.parent{
display: flex;
flex-direction: column;
}
.parent .child{
flex: 0 1 auto;
}
虽然我无法再使用 Safari 14.0.2 复制 OP 问题,但我仍然观察到在某些情况下 Safari 会过度缩小元素,而其他浏览器(如 Safari 和 Firefox)则不会。
虽然设置 flex-shrink: 0;
有效,但在某些情况下,我们打算在我们希望发生收缩但不会过度收缩的地方使用 flex: 0 1 15%
。
解决方法似乎对我有用:
min-height: min-content
(或min-width
)
强制 Safari 在默认弹性容器内不重叠弹性项目的正确 CSS 是什么?
Safari 似乎为包含大量内容的弹性项目提供了太多宽度。
Safari:(Mac OS X 10.10.5 Yosemite 上的 v8.0.8)
弹性项目在 Chrome 和 Firefox 中显示良好。
Chrome:
CSS:
main {
display: flex;
border: 3px solid silver;
}
main >div {
background-color: plum;
margin: 10px;
}
HTML:
<main>
<div>
Doh!!!!!!!!!!!
</div>
<div>
Lorem ipsum dolor sit amet, consectetur adipiscing
elit, sed do eiusmod tempor incididunt ut labore et
dolore magna aliqua. Ut enim ad minim veniam.
</div>
</main>
Fiddle 代码:
http://jsfiddle.net/LL05grus/6
元素正在收缩。您需要在收缩元素上将 flex-shrink
属性 设置为 0
。
main >div:first-child {
-webkit-flex: 0;
flex-shrink: 0;
}
我也有一个类似的问题,弹性框方向更改为 iPad 上的列重叠项目。问题在于 flex: 0 1 0;
属性 应用于子元素。给基值自动。 flex: 0 1 auto;
.parent{
display: flex;
flex-direction: column;
}
.parent .child{
flex: 0 1 auto;
}
虽然我无法再使用 Safari 14.0.2 复制 OP 问题,但我仍然观察到在某些情况下 Safari 会过度缩小元素,而其他浏览器(如 Safari 和 Firefox)则不会。
虽然设置 flex-shrink: 0;
有效,但在某些情况下,我们打算在我们希望发生收缩但不会过度收缩的地方使用 flex: 0 1 15%
。
解决方法似乎对我有用:
min-height: min-content
(或min-width
)