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

如何利用父容器的overflow:hidden隐藏指定子div?

解决Flex父容器下子元素无法溢出隐藏的问题

这个问题我之前也踩过坑,核心是Flexbox的默认收缩行为在捣乱!

你当前的代码里,父容器用了display: flex,子元素设置width: 100%,但Flexbox默认给所有子元素加了flex-shrink: 1——这个属性会让子元素自动缩小宽度,强行挤在父容器里,自然不会触发overflow: hidden的隐藏效果。

解决方案:禁止子元素收缩

只需要给.child类加上flex-shrink: 0,就能阻止Flexbox压缩子元素,让它们保持设置的100%宽度,超出父容器的部分就会被自动隐藏,刚好只显示第一个子元素。

完整代码示例:

<div class="parent">
  <div class="child">第一个子块</div>
  <div class="child">第二个子块</div>
  <div class="child">第三个子块</div>
  <div class="child">第四个子块</div>
</div>

<style>
.parent {
  display: flex;
  overflow: hidden;
  /* 可选:添加高度和边框方便查看效果 */
  height: 120px;
  border: 1px solid #ddd;
}

.child {
  width: 100%;
  flex-shrink: 0; /* 关键:禁止Flex收缩 */
  /* 可选:添加背景色区分子元素 */
  background-color: #f5f5f5;
  border-right: 2px solid #666;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
}
</style>

额外说明

如果你的布局是纵向排列(想让第一个子块纵向显示,其余隐藏),只需要调整父容器的flex-direction: column,子元素改成height: 100%并保留flex-shrink: 0,原理完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:30:55