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

如何实现指定布局的Responsive Section?解决移动端布局错误

解决响应式布局错位问题

你的核心问题是移动端时数字容器没有保持横向排列,而是默认垂直堆叠了。下面用两种常用方案实现你要的布局:

方案一:Flexbox 实现

HTML 结构

<section class="layout-container">
  <div class="numbers-wrapper">
    <div class="num-box">3</div>
    <div class="num-box">2</div>
    <div class="num-box">1</div>
  </div>
  <div class="letter-box">A</div>
</section>

CSS 样式

/* 桌面端基础样式 */
.layout-container {
  display: flex;
  gap: 1rem;
  align-items: stretch;
}

.numbers-wrapper {
  display: flex;
  gap: 1rem;
}

.num-box, .letter-box {
  padding: 1.5rem;
  border: 1px solid #333;
}

.letter-box {
  flex: 1; /* 让A占据剩余所有宽度 */
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 移动端适配(768px 以下) */
@media (max-width: 768px) {
  .layout-container {
    flex-direction: column;
  }

  .numbers-wrapper {
    width: 100%;
    justify-content: space-evenly; /* 数字均匀分布 */
  }

  .letter-box {
    width: 100%;
  }
}

方案二:CSS Grid 实现

HTML 结构和上面一致,CSS 样式如下

/* 桌面端基础样式 */
.layout-container {
  display: grid;
  grid-template-columns: repeat(3, auto) 1fr;
  gap: 1rem;
}

.num-box, .letter-box {
  padding: 1.5rem;
  border: 1px solid #333;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 移动端适配 */
@media (max-width: 768px) {
  .layout-container {
    grid-template-columns: 1fr;
  }

  .letter-box {
    grid-row: 1; /* 强制A排在第一行 */
  }

  .numbers-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    grid-column: 1; /* 占满整列宽度 */
  }
}

错误原因说明

你之前的实现应该是没给移动端的数字容器设置横向布局规则,默认块级元素会让内部数字项垂直堆叠。上面两种方案都确保了在移动端时,数字容器依然保持横向排列的布局,同时调整外层容器的方向/网格结构,实现你要的响应式效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:35:40