html - flexbox 父 div 在 ios 10 safari 中没有高度但在 ios 11 safari 中不是这样

标签 html ios css safari

<div class="column">
<div class="trainer">
<span>
  hihi
</span>
</div>
</div>

.column {
  display:flex;
  flex-direction: column;
  background-color: red;
}

.trainer {
  display:flex;
  height: 100%;
  align-items: center;
  justify-content: space-around;
  flex: 25%;
}

jsfiddle code sample

您可以试试上面的链接。 在 firefox 和 ios 11 safari 中,显示父 div 背景颜色, 而在 ios 10 safari 中,我看不到父 div 背景颜色。

那么如何解决 ios 10 safari 中父级高度为零的问题?

附言。我发现如果我将 25% 更改为 25px,红色背景会出现在 ios 10 safari 中。这是否意味着 ios 10 safari 不支持 flex-basis 百分比?

最佳答案

对于 Safari 6.1+,您可以使用 -webkit-flex-basis 属性。

.column {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background-color: red;
}

.trainer {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -ms-flex-preferred-size: 25%;
  -webkit-flex-basis: 25%;
  flex-basis: 25%;
}
<div class="column">
  <div class="trainer">
    <span>hihi</span>
  </div>
</div>

关于html - flexbox 父 div 在 ios 10 safari 中没有高度但在 ios 11 safari 中不是这样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54002510/

相关文章:

html - 在 chrome 中更改滚动条上的光标图像

HTML5 img 标签尺寸

javascript - OpenLayers:从服务器获取 Map、View、TileLayer 和 OSM

ios - 更新标签对象中的字体

jquery - CSS 或 jQuery 使内容在缩小时垂直居中

jquery - 如何为不同的下拉菜单编写 jquery

javascript - 在加载和渲染整个页面后,如何执行函数来更新动态创建的输入的值?

iOS SIGABRT 即将推出

ios - 在 subview 按钮中调用父函数

javascript - 带有选项的简单选择标签不适用于 Chrome