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

如何在Flex元素内实现文本省略并适配父容器

解决方案

要实现固定尺寸父容器内的粉色Flex容器与灰色固定宽度div适配布局,同时让长文本自动以省略号截断,需修正几个关键样式问题:

关键修改点

  • 修复.parent中color: red:;的语法错误(多余的冒号)
  • 给.flex容器添加min-width: 0,确保它能在父容器空间不足时收缩,避免被内部文本撑爆
  • 给.long-text去掉max-width: 50%,改用flex: 1平分Flex容器空间,同时添加min-width: 0(Flex项默认min-width: auto会阻止收缩,导致文本无法截断)
  • 可选添加box-sizing: border-box到.parent,让padding包含在固定宽度内,避免父容器总宽度超出设定值

完整代码

CSS

.parent {
  background-color: cyan;
  width: 500px;
  height: 500px;
  color: red;
  padding: 20px;
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
}

.flex {
  flex: 1;
  background-color: pink;
  display: flex;
  flex-direction: row;
  min-width: 0;
}

.fixed {
  width: 50px;
  background-color: gray;
  height: 100%;
  flex: 0 0 auto;
}

.long-text {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  flex: 1;
  min-width: 0;
  padding: 0 8px;
}

HTML

<div class="parent">
  <div class="flex">
    <div class="long-text">
      Lorem ipsum dolor, sit amet consectetur adipisicing elit. Dolorem qui, doloremque perferendis ducimus tempora facere, est, quisquam tenetur veritatis at earum eveniet minima numquam repellendus dolorum enim quos cupiditate quaerat?
    </div>
    <div class="long-text">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Dolorem qui, doloremque perferendis ducimus tempora facere, est, quisquam tenetur veritatis at earum eveniet minima numquam repellendus dolorum enim quos cupiditate quaerat?</div>
  </div>
  <div class="fixed"></div>
</div>

效果说明

  • 父容器固定500px宽度,灰色div占固定50px,粉色Flex容器自动填充剩余空间
  • 两个长文本平分Flex容器宽度,文本过长时自动显示省略号,整体布局不会被撑破

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:43:29