在Safari中重叠CSS flexbox项目

Dem*_*ian 27 html css safari flexbox

什么是正确的CSS,以强制Safari不与默认Flex容器中的flex项重叠?

Safari似乎提供了太多的宽度来展示具有大量内容的项目.

Safari :( Mac OS X 10.10.5 Yosemite上的v8.0.8)
柔性项,safari.png

灵活项目在Chrome和Firefox中显示正常.

铬:
在此输入图像描述


CSS:

main {
   display: flex;
   border: 3px solid silver;
   }
main >div {
   background-color: plum;
   margin: 10px;
   }
Run Code Online (Sandbox Code Playgroud)


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>
Run Code Online (Sandbox Code Playgroud)

摆弄代码:http:
//jsfiddle.net/LL05grus/6

小智 44

元素正在萎缩.您需要将flex-shrink属性设置0为收缩元素.

main >div:first-child {
  -webkit-flex: 0;
  flex-shrink: 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 你也可以将`flex-shrink:0;`添加到它阻止它变得小于它的最小大小的元素. (7认同)
  • 那真的很有用!但是,我不得不使用flex:0 0 auto来解决我身边的问题. (4认同)

Las*_*hds 7

我也有一个类似的问题,即 iPad 上的 flex 框方向更改为列重叠项目。问题在于flex: 0 1 0;应用于子元素的属性。给基值自动。flex: 0 1 auto;

.parent{
    display: flex;
    flex-direction: column;
}
.parent .child{
    flex: 0 1 auto;
}
Run Code Online (Sandbox Code Playgroud)