Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • Flex 布局下文字省略不生效

Flex 布局下文字省略不生效

<div class="wrap">
  <div class="infos">
    <div>Soccer</div>
    <div class="self">QDLEADERQDLEADERQDLEADERQDLEADERQDLEADERQDLEADERQDLEADER</div>
  </div>
  <div class="live">Live</div>
</div>

.wrap {
  display: flex;
  align-items: center;
  width: 350px;
  border: 1px dashed #ccc;
  gap: 16px;
}

.infos {
  flex: 1;
  display: flex;
  gap: 8px;
}

.self {
  flex: 1;

   /* 文字超出隐藏 */
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

在 Flex 布局中,子元素的默认 min-width 是 auto,意味着它会根据内容宽度确定最小值,导致内容不会被压缩。

因此,当 .wrap 的空间不足时,.infos 会拒绝被压缩,从而让内部的 .self 也失去“省略”的机会。 要让 .self 的 text-overflow: ellipsis 生效,必须确保它在空间不足时可以被压缩。 解决方案也很简单:给 .infos 设置 min-width: 0 即可。 这告诉浏览器,“.infos 可以比它内容更窄”,从而允许内部 .self 根据空间自动裁切。

.infos {
  flex: 1;
  display: flex;
  gap: 8px;
  min-width: 0;
}
Edit this page
最近更新: 2025/12/2 01:46
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人