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

使用CSS实现无表头4列表格移动端自动转为2列布局

修正方案

你原来的CSS是针对带表头、自定义属性的复杂响应式表格场景编写的,和你当前单行列4个单元格的需求不匹配,直接替换为以下CSS即可实现预期效果:

table {
  width: 100%;
  border-collapse: collapse;
  background: rgb(196, 215, 70);
}

tr:nth-child(2n) {
  background: lightblue;
}

th, td {
  box-shadow: inset 0 0 0 2px;
  text-align: center;
  vertical-align: middle;
  padding: 0.5em;
}

/* 移动端响应式规则 */
@media screen and (max-width: 600px) {
  table {
    display: flex;
    flex-wrap: wrap;
  }
  tbody, tr {
    display: contents;
  }
  td {
    width: 50%;
    box-sizing: border-box;
  }
}

修改说明

  • 删除了原本冗余的@supports判断、伪元素生成内容、order排序等不匹配你需求的逻辑,这部分代码是导致出现4x4异常布局的核心原因
  • 将响应式断点调整为你要求的600px
  • 移动端通过flex布局+换行实现每行2列的效果,display: contents用来解除tr、tbody的布局限制,让td直接作为table flex容器的子元素排列
  • 给td加box-sizing: border-box保证边框、内边距不会撑爆50%的宽度

测试效果完全匹配你的预期:

  • 桌面端:原生表格布局,一行4列展示A、B、C、D
  • 宽度小于600px的移动端:自动换行,第一行展示A、B,第二行展示C、D

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 11:54:02