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

display:flex元素排列顺序调整问题求助(媒体查询场景)

问题:Flex布局指定元素同行排列(媒体查询实现,HTML结构不变)

需要实现的布局效果:让3.1与2.3处于同一行,3.2和3.3保持原有布局。要求仅在媒体查询中实现该效果,且HTML结构保持不变。

当前代码

CSS代码

.test { display: flex; flex - direction: column; flex: 1; flex - wrap: wrap; }
.break { flex - basis: 100 %; height: 0; }
.b { width: 500 px; height: 50 px; border: 1 px solid red; flex - basis: 20 %; flex - wrap: nowrap; }
.flex1 { display: flex; flex - direction: row; }
.test2 { display: flex; flex - direction: column; flex - wrap: nowrap; }
.bb { display: flex; }
.flex2 { display: flex; flex - wrap: wrap; }
.flex3 { display: flex; flex - direction: row; flex - wrap: wrap; align - items: center; }

HTML代码

<div class="test"> 
  <div class="flex1"> 
    <div class="1 b">1</div> 
    <div class="2 b">1</div> 
  </div> 
  <div class="test2"> 
    <div class="flex2"> 
      <div class="3 b">2.1</div> 
      <div class="4 b">2.2</div> 
      <div class="break"></div> 
      <div class="5 b bb">2.3</div> 
    </div> 
    <div class="flex3"> 
      <div class="3 b bb">3.1</div> 
      <div class="break"></div> 
      <div class="4 b">3.2</div> 
      <div class="break"></div> 
      <div class="5 b">3.3</div> 
    </div> 
  </div> 
</div>

解决方案

以屏幕宽度≥768px为例,添加以下媒体查询代码即可实现需求:

@media (min-width: 768px) {
  /* 把test2改成横向排列,让flex2和flex3处于同一水平容器 */
  .test2 {
    flex-direction: row;
    align-items: flex-start;
  }
  /* flex2改为纵向排列,让2.1、2.2、2.3垂直占左侧区域 */
  .flex2 {
    flex-direction: column;
    flex: 1;
    flex-wrap: nowrap;
  }
  /* 隐藏flex2内的换行元素,避免2.3单独换行 */
  .flex2 .break {
    display: none;
  }
  /* 调整flex3布局,让3.1占右侧空间与2.3对齐,3.2、3.3维持原有换行逻辑 */
  .flex3 {
    flex: 1;
    flex-wrap: wrap;
  }
  /* 给3.1设置宽度,刚好和2.3处于同一行 */
  .flex3 .3.b.bb {
    flex-basis: calc(100% - 500px);
  }
  /* 保留3.2和3.3之间的换行 */
  .flex3 .break:nth-child(2) {
    flex-basis: 100%;
    height: 0;
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 20:50:38