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

仅用CSS实现水平滚动容器内两行不等宽元素的指定顺序排列

你可以通过CSS Grid的列优先流布局实现该需求,核心逻辑是让网格优先按列填充内容,固定仅展示2行,超出的内容自动生成新列向外延伸,配合横向滚动即可满足所有要求:

实现代码

.wrapper {
  display: grid;
  /* 固定为两行,高度随内容自适应 */
  grid-template-rows: repeat(2, auto);
  /* 开启列优先填充,元素会先填满一列的两行再切换到下一列 */
  grid-auto-flow: column;
  /* 每列宽度自动适配内容的最大宽度,无需固定值 */
  grid-auto-columns: max-content;
  /* 超出容器宽度时横向滚动 */
  overflow-x: auto;
  /* 可选:设置元素之间的间距 */
  gap: 10px;
  /* 可选:设置容器基础样式 */
  padding: 10px;
  height: fit-content;
}

/* 子元素无需特殊设置,宽度可自由定义 */
.wrapper > div {
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  white-space: nowrap;
}

效果说明

以上代码完全符合要求的排列顺序,子元素数量任意增减都会自动排版,不需要修改任何固定宽度参数,也完全适配你给出的DOM结构,无需额外嵌套子容器。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 05:54:03