微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html – 如何防止弹性项目缩小小于其内容?

我已经设置了一个jsfiddle来演示这里的问题:
http://jsfiddle.net/x0eo3aeo/2/

HTML:

<div class="flexContainer">
    <div class="flexCol1">aaa</div>
    <div class="flexCol2"><div style="width:100px; background-color:yellow;">bbb</div></div>
    <div class="flexCol3"><div style="width:250px; background-color:pink;">Hello world,some long text here to make this element stay at 250px while splitting onto multiple lines.</div></div>
</div>

CSS:

.flexContainer {
    display: flex;
    width: 100%;
    flex-direction: row;
}
.flexCol1,.flexCol3 {
    flex: 1;
    background-color: green;
}

Firefox实际上就是我想要的.第1列和第3列均匀弯曲,直到第3列的宽​​度达到其子div的固定大小,然后只有第1列弯曲.但是,在Chrome中,两列都会继续均匀弯曲,第3列的子内容会溢出.

有没有办法以跨浏览器的方式实现Firefox风格的行为?

解决方法

您应该能够通过添加min-width来实现Chrome中的Firefox行为:-webkit-min-content;到.flexCol3.这可以防止它缩小到其最小内容宽度以下. (这是认情况下应该发生的,因为min-width:在flexBox规范中引入了auto,但是还有 hasn’t been implemented in Chrome.)

如下面的评论中所述,IE似乎没有实现min-content width关键字,因此您可能必须在那里做一些更黑的事情(如min-width:250px).幸运的是,IE的下一个版本(12?)确实有min-width:auto实现,所以这应该像Firefox一样工作,我被告知.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐