【问题标题】:Flexbox not working in safari (prefixed)Flexbox 在 Safari 中不起作用(前缀)
【发布时间】:2015-10-15 17:44:39
【问题描述】:

由于某种原因,我的 flexbox 在 Safari 中无法正常工作。

它在 iOS 上的 Chrome 中也不适用于我,但我的 Mac 或 Android 设备上的 Chrome 可以正常工作。下面是我的代码。

div.row {
 padding: 0;
 display: -webkit-box;
 display: -ms-flexbox;
 display: -webkit-flex;
 display: flex;
 flex-wrap: wrap;
 -webkit-flex-wrap: wrap;
 -ms-flex-wrap: wrap;
 -webkit-box-pack: center;
 -ms-flex-pack: center;
 justify-content: center;
 -webkit-justify-content: center;
 -ms-justify-content: center;
 }
div.inner {
 -webkit-box-flex: 1;
 -webkit-flex: 1;
 -ms-flex: 1;
 flex: 1;
 text-align: center;
 padding: 0 10px;
 padding-top: 50px;
 min-width: 200px;
}

我做了一个 JSFiddle http://jsfiddle.net/mynv6k4q/ 来展示。

当视口变小时,底部的块应该伸展,顶部的两个块需要彼此并排,直到它们的宽度小于 200px。这在 Chrome 中运行良好,但 Safari 无法运行,即使它是前缀。

可能出了什么问题?

【问题讨论】:

  • 哪个版本的 Safari 和哪个操作系统?

标签: css flexbox


【解决方案1】:

已通过将“flex: 1”更改为“flex: 1 0 200px”来解决此问题。显然 min-width 并不能真正与 Safari 中的 Flexbox 结合使用。

【讨论】:

  • 这篇文章真的帮助了我。我能够使用您的一些建议与媒体查询和/或将flex 属性从flex: 1; 更改为flex: 1 1 auto;,使我的具有flex 属性的DOM 元素正确显示。我发现默认的flex 属性是flex: 0 1 auto;,所以我把有问题的元素的默认值都扔进去了,它们可以正常工作。
猜你喜欢
  • 2015-05-12
  • 2021-01-07
  • 2015-08-19
  • 2017-09-30
  • 2017-09-28
  • 2017-02-23
  • 2015-10-30
  • 2018-02-15
  • 2018-04-09
相关资源
最近更新 更多