white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
- 但是如果某个元素是flex盒子的子项, 且宽度自适应的话, 想要实现内部元素的的文本省略, 会发现子元素会被文本撑开
<div id="d5">
<div id="d6"></div>
<div id="d7">
<div id="d8">
Lorem ipsum, dolor sit amet consectetur adipisicing elit. Sed delectus asperiores repellendus eligendi minima
odit ullam facilis rerum praesentium, deserunt veritatis at voluptatibus et quae nihil accusantium nemo eos
laboriosam excepturi cumque aliquid voluptate, fugit nam. Veniam maiores eum voluptatem magni exercitationem
inventore veritatis aut tempora quae quisquam, perspiciatis reiciendis!
</div>
</div>
</div>
#d5 {
width: 500px;
height: 100px;
display: flex;
}
#d6 {
flex-grow: 0;
flex-shrink: 0;
flex: 0 0 100px;
background-color: lightblue;
}
#d7 {
flex: 1 0 0;
background-color: lightcoral;
}
#d8 {
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

- 如上所示, #d5,#d6,#d7 均是模拟布局的元素, #d7作为flex元素的子元素自适应宽度, 现使用#d7作为容器, #d8设置宽度为100%时, 其内部文本宽度大于#d8时, #d8宽度会被内容撑开
- 参考博文解决flex布局内容超出盒子宽度问题
- 设置#d7同样为flex容器, #d8成为了flex-item, 但是仅仅这样还不够, 需要设置#d8width属性, 令其自适应宽度
#d7 {
flex: 1 0 0;
background-color: lightcoral;
display: flex;
}
#d8 {
width: 0;
flex-grow: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}

- 需要注意: 经测试, width属性不可使用flex-basis代替
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通