You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

flex-basis:0在Safari中不遵循父元素高度的问题咨询

问题描述

这段代码在Chrome和Firefox中运行正常,图片能适配父元素高度并完全容纳其中,但在Safari浏览器里图片会出现溢出情况。我测试发现,给相关元素添加overflow:hidden属性,或者移除flex-basis:0就能修复这个问题。

想请教大家两个问题:

  • 有没有人能分享下相关的经验或细节?
  • 2023年Flexbox已经趋于稳定,这是否属于Safari的浏览器Bug?

代码示例

CSS代码

.parent {
  display: flex;
  flex-direction: column;
  height: 200px;
  overflow: hidden;
  border: 1px solid red;
}

.child {
  display: flex;
  flex-basis: 0;
  height: 100%;
}
.innerChild {
  height: 100%;
}
img {
  max-height: 100%;
}

HTML代码

<div class="parent">
  <div class="child">
    <div class="innerChild">
    <img src="https://picsum.photos/id/237/200/600"/>
    </div>
  </div>
</div>

效果对比

Safari浏览器效果

Safari中图片溢出效果

Chrome浏览器效果

Chrome中图片正常适配效果

内容的提问来源于stack exchange,提问作者Himanshu Patil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 06:42:46