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

如何避免flexbox布局溢出时子元素固定width被压缩,实现横向滚动?

问题原因

Flex布局的子项默认开启了自动收缩机制,对应的flex-shrink属性默认值为1:当子项总宽度超过父容器宽度时,浏览器会自动按比例缩小所有子项的宽度,避免溢出,这就是你设置的固定width:200px失效的原因。

解决方案

只需给flex子项添加flex-shrink: 0属性,关闭子项的自动收缩规则即可,无需修改你已有的宽度、margin配置。

修改后的完整CSS代码如下:

.flex{
  display:flex;
  width:100%;
  background:yellow;
  align-items:center;
  flex-wrap: nowrap;
  overflow:auto;
}

.flex div{
 width:200px;
 background:red;
 margin:0px 16px;
 /* 新增:禁止子项自动收缩 */
 flex-shrink: 0;
}

修改后子项会严格保留200px的固定宽度,总宽度超出容器时会触发你配置的overflow:auto规则,出现横向滚动条,原有margin样式完全生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 01:18:00