弹性物品在ios safari中脱离屏幕

时间:2017-06-28 13:32:47

标签: html css css3 safari flexbox

我需要连续三个街区。右边的两个将具有固定的宽度。左边的块是一个文本块,应该是灵活的。

我的代码适用于Edge,Firefox和Chrome中的所有分辨率,但不适用于iOS Safari。

这是来自真实iPhone的屏幕截图。你可以看到它看起来像垃圾。最后2个区块在屏幕外,但我不明白为什么。

click



.container {
  display: flex;
  justify-content: flex-end;
}

.left {
  border: 1px solid #808080;
}

.center {
  border: 1px solid #000;
  padding: 10px;
  margin: 5px;
}

.right {
  border: 1px solid #008000;
}

<div class="container">
  <div class="left">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt doloribus, nihil deleniti expedita labore porro commodi consequuntur, corporis delectus nam, ipsa? Eius inventore est molestias ex, eos odio. Consequuntur, voluptatibus!</div>
  <div class="center">KK</div>
  <div class="right">18:42</div>
</div>
&#13;
&#13;
&#13;

codepen:https://codepen.io/quinnvalor/pen/mwpPaz

1 个答案:

答案 0 :(得分:0)

Flex容器的初始设置为flex-shrink: 1。这意味着flex项目可以缩小。

显然,Safari处理此行为的方式与其他浏览器不同。

对于跨浏览器解决方案,请覆盖默认行为。

flex-shrink: 0添加到固定宽度的项目。

.container {
  display: flex;
  justify-content: flex-end;
}
.left {
  border: 1px solid #808080;
}
.center {
  border: 1px solid #000;
  padding: 10px;
  margin: 5px;
  flex-shrink: 0;  /* NEW */
}
.right {
  border: 1px solid #008000;
  flex-shrink: 0;  /* NEW */
}
<div class="container">
     <div class="left">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Sunt doloribus, nihil deleniti expedita labore porro commodi consequuntur, corporis delectus nam, ipsa? Eius inventore est molestias ex, eos odio. Consequuntur, voluptatibus!</div>
  <div class="center">KK</div>
      <div class="right">18:42</div>
</div>

https://codepen.io/anon/pen/JJMEGp