我需要连续三个街区。右边的两个将具有固定的宽度。左边的块是一个文本块,应该是灵活的。
我的代码适用于Edge,Firefox和Chrome中的所有分辨率,但不适用于iOS Safari。
这是来自真实iPhone的屏幕截图。你可以看到它看起来像垃圾。最后2个区块在屏幕外,但我不明白为什么。
.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;
答案 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>