一个弹性容器有四个孩子,每个孩子的灵活度为25%,最小宽度 . flex-flow设置为row wrap . Safari之外的浏览器按预期处理这个:如果达到最小宽度,它将下一个项目包装到下一行 . 在Safari中,它会溢出容器 .
在这里查看演示:http://codepen.io/lbilharz/pen/aJbkI
玉
h1 Why this ain't wrappin' in mobile-safari?
.flex
for i in ['one','two','three','four']
.item
h2=i
唱针
.flex
display flex
flex-wrap wrap
flex-direction row
padding 1em
background lightyellow
.item
flex 1 0 25%
padding 1em
box-sizing border-box
min-width 15em
有任何想法吗?
4 回答
按照comment on bugs.webkit.org,似乎解决方案很简单!
如果你的风格是
你只需要为你的
flex
声明添加更多的显性 . 事实上,我认为只有一条线需要改变我在我的flex项目上使用
max-width
,所以我能够通过在flex
属性中明确设置max-width
来解决这个问题:这是一个Safari IOS错误 . 因此,修复/解决方法是将flex-basis设置为显式宽度而不是子元素的auto .
有些浏览器并不完全支持所有CSS3元素 . 试试这个: