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

Flexbox布局中如何固定某div宽度,让其他div自适应伸缩

解决Flex布局中固定宽度元素被压缩的问题

嘿,我来帮你搞定这个Flex布局下固定宽度元素被压缩的问题!

你遇到的核心问题是Flex容器的默认行为——flex子元素默认会设置flex-shrink: 1,也就是当容器空间不足时,子元素会自动收缩来适应容器宽度,这就导致你设置了固定宽度的.panel被压缩了。

要让.panel保持固定宽度不被压缩,你只需要给它添加flex-shrink: 0属性,或者更简洁地用flex: 0 0 225px(这个属性是flex-grow:0、flex-shrink:0、flex-basis:225px的缩写,意思是不放大、不收缩、基准宽度225px)。

另外还要注意,你给.panel设置的float: left和display: inline-block在Flex布局里是多余的,甚至可能干扰布局,建议去掉这些属性。

修改后的.panel样式代码如下:

.panel {
  height: 100%;
  flex: 0 0 225px; /* 关键:固定宽度且禁止伸缩 */
  background-color: white;
  border-right: 1px solid lightgrey;
  position: relative;
  outline: solid red 1px;
}

这样设置后,.panel就会严格保持225px的宽度,不会被Flex容器压缩,同时其他采用百分比布局的子元素可以正常在剩余空间里分配宽度,完美保留你想要的原有外观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:23:08