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

flex 1 0 0与flex 4 0 0在flex-flow:column下未按1:4比例分配空间问题

解决Flex垂直方向比例分配失效问题

你的代码里flex容器.wrap没有设置高度,默认状态下它的高度仅由内部子元素的内容撑开,这就导致flex: 1 0 0和flex: 4 0 0的比例规则无法生效——因为没有多余的垂直空间可供分配。

解决方法很简单:给flex容器设置明确的高度,同时确保它的父级元素(比如html和body)也有高度,避免百分比高度失效:

/* 先给根元素和body设置高度,确保容器能继承到可用空间 */
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

.wrap {
  display: flex;
  flex-flow: column;
  /* 设置容器高度为100%,占满父元素空间 */
  height: 100%;
}

.one {
  background: yellow;
  flex: 1 0 0;
}

.four {
  background: red;
  flex: 4 0 0;
}
<div class="wrap">
  <div class="one">One</div>
  <div class="four">Four</div>
</div>

这样修改后,.wrap会占满整个视口高度,子元素就能按照1:4的比例分配垂直空间了。如果不需要占满整个视口,也可以给.wrap设置固定高度(比如height: 500px),同样能让比例规则生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 11:05:40