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

如何让flex布局中占剩余空间的div不溢出且溢出时显示省略号

解决方案

根因说明

flex布局下弹性项默认min-width: auto,内容长度超过分配宽度时会撑开容器,导致溢出父元素。

修改方案

给.second类增加以下属性即可实现需求,兼容性覆盖绝大多数主流浏览器:

.second {
  flex: 1;
  min-width: 0; /* 覆盖默认min-width:auto,阻止内容撑宽容器 */
  overflow: hidden;
  /* 以下为多行省略配置 */
  display: -webkit-box;
  -webkit-line-clamp: 3; /* 可自行调整需要显示的行数 */
  -webkit-box-orient: vertical;
  /* 长字符折行,兼容性优于overflow-wrap: anywhere,支持到IE11 */
  overflow-wrap: break-word;
}

完整可运行代码

CSS部分

#wrapper{
  width:50%;
  display:flex;
  height:10rem;
  background-color:yellow;
}

#wrapper div{
  height:5rem;
}

.second {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow-wrap: break-word;
}

HTML部分

<div id="wrapper">
  <div style="background: blue">short version</div>
  <div class="second" style="background:red;">looooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooog version</div>
</div>

参数调整说明

如果需要修改显示的文本行数,只需要调整-webkit-line-clamp的属性值即可,比如要显示2行就改为-webkit-line-clamp: 2。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 09:45:02