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

如何通过CSS实现Flex-Box #X内4个Flex-Items的响应式排列?

实现要求的Flex布局 CSS代码

根据你需要的两种响应式布局,CSS可以这样编写:

/* 基础样式,默认适配宽度<60em的移动端 */
#X {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem; /* 子项间的间距,可按需调整 */
}

#Y1 {
  width: 100%; /* 移动端占满整行 */
}

#Y2, #Y3 {
  flex: 1; /* 移动端平分该行剩余宽度 */
  min-width: 120px; /* 防止子项过窄,可选配置 */
}

#Y4 {
  width: 100%; /* 移动端占满整行 */
}

/* 桌面端适配(宽度≥60em时生效) */
@media (min-width: 60em) {
  #Y1 {
    width: auto;
    flex-basis: 30%; /* 左侧区域占比,可按需调整 */
    align-self: stretch; /* 让Y1高度与右侧区域保持一致 */
  }

  #Y2, #Y3 {
    flex-basis: calc((70% - 1rem)/2); /* 右侧区域占70%,减去间距后平分给Y2、Y3 */
  }

  #Y4 {
    width: auto;
    flex-basis: 70%; /* Y4占右侧整行宽度 */
    margin-left: auto; /* 让Y4与Y2、Y3对齐到右侧 */
  }
}

代码说明

  • 基础样式优先适配移动端:#Y1和#Y4各占整行,#Y2和#Y3平分中间行宽度
  • 屏幕宽度≥60em时切换为桌面布局:#Y1占据左侧约30%宽度,#Y2、#Y3在右侧上半部分并排,#Y4在右侧下半部分占满整行
  • gap 属性用于控制子项间距,可根据视觉需求修改数值
  • align-self: stretch 确保#Y1的高度与右侧子项的总高度匹配
  • calc() 用于精确计算#Y2、#Y3的宽度,避免间距导致的布局溢出

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 02:10:15