讲师中心 微信公众号
AI工具推荐 视频效率加速

css 想制作响应式表格怎么办_overflow auto 与 media query

陌杰吖_7349

陌杰吖_7349

发布时间:2026-01-13 14:29:34

|

720人浏览过

|

来源于php中文网

原创

响应式表格最快方案是父容器设 overflow: auto,但易致表头错位、iOS卡顿;需配合 max-width、table-layout: fixed 和媒体查询等优化,或改用 grid/flex 布局及双结构方案。

css 想制作响应式表格怎么办_overflow auto 与 media query

响应式表格用 overflow: auto 最快但有隐患

直接给表格父容器加 overflow: auto 是最省事的方案,适合数据列多、行数少、移动端只需横向滚动的场景。但它不改变表格结构,<table> 本身仍按原始列宽渲染,可能造成表头与内容错位、固定列失效、或在 iOS Safari 中滚动卡顿。<p>实操建议:</p><div class="aritcle_card flexRow"> <div class="artcardd flexRow"> <a class="aritcle_card_img" href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器"><img src="https://img.php.cn/upload/skill/001/246/273/6adaf20d3191a227.jpg" alt="DeepBI DHTML 页面生成器" ></a> <div class="aritcle_card_info flexColumn"> <a href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器">DeepBI DHTML 页面生成器</a> <p>生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur</p> </div> <a href="/xiazai/skill12116" title="DeepBI DHTML 页面生成器" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> <ul> <li>必须包裹在带明确宽度的容器里(如 <code>max-width: 100%),否则 overflow 不生效

  • 给容器加 overflow-x: auto 和 -webkit-overflow-scrolling: touch 提升 iOS 滚动体验
  • 避免对 <table> 直接设 <code>width: 100%,否则小屏下文字换行混乱;改用 table-layout: fixed + 显式设置 <col> 宽度更可控

    用 @media 查询切换表格布局要重写 DOM 结构

    CSS 媒体查询本身不能改变 HTML 表格语义,@media 只能控制显示/隐藏或调整样式。真要实现「手机端变卡片流、PC 端保持表格」,必须配合 HTML 结构拆分或 JS 动态渲染 —— 否则仅靠 CSS 无法把 <tr><td> 转成垂直堆叠的 <code><div class="card">。<p>常见做法是写两套结构,用媒体查询控制显隐:</p> <p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p><pre class="brush:php;toolbar:false;">&lt;div class=&quot;table-wrapper&quot;&gt; &lt;table class=&quot;desktop-table&quot;&gt;...&lt;/table&gt; &lt;div class=&quot;mobile-cards&quot;&gt; &lt;div class=&quot;card&quot;&gt;&lt;strong&gt;Name:&lt;/strong&gt; Alice&lt;/div&gt; &lt;div class=&quot;card&quot;&gt;&lt;strong&gt;Email:&lt;/strong&gt; alice@example.com&lt;/div&gt; &lt;/div&gt; &lt;/div&gt;</pre><p>然后在 CSS 中:</p><pre class="brush:php;toolbar:false;">@media (max-width: 768px) { .desktop-table { display: none; } .mobile-cards { display: block; } } @media (min-width: 769px) { .desktop-table { display: table; } .mobile-cards { display: none; } }</pre><h3> <code>display: grid 或 display: flex 替代 <table> 更灵活<p>如果语义允许(即非严格的数据表格,比如后台管理列表、价格对比卡),放弃 <code><table> 标签,改用语义化 <code><div> + <code>display: grid,能天然支持响应式断点重排,且兼容 @media 控制列数。

    例如三列布局在小屏变单列:

    .grid-table {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1rem;
    }
    @media (max-width: 600px) {
      .grid-table {
        grid-template-columns: 1fr;
      }
    }

    注意点:

    • 失去原生表格的可访问性(如屏幕阅读器对 <th scope="row"> 的识别),需手动补 <code>role="table" 等 ARIA 属性
    • grid 的列对齐依赖内容高度一致,异长内容需配 align-items: start 防错位
    • IE11 不支持 grid,若需兼容得降级用 flex + flex-wrap
    • 混合方案:小屏保留表格但强制等宽列 + 文字截断

      既不想改 HTML,又不愿让用户手动滚动,可以妥协:用 @media 调整表格内部行为,让小屏下每列均分宽度、文字单行截断、表头固定左侧。

      关键 CSS 片段:

      @media (max-width: 480px) {
        .responsive-table {
          table-layout: fixed;
          width: 100%;
        }
        .responsive-table th,
        .responsive-table td {
          width: 25%; /* 四列均分 */
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
        }
        .responsive-table th:first-child,
        .responsive-table td:first-child {
          position: sticky;
          left: 0;
          background: #fff;
          z-index: 1;
        }
      }

      这个方案的硬伤是:列数一多(比如 8 列),25% 就不适用了,得配合 JS 动态算列宽,或者直接切回 overflow: auto。

      真正难的不是怎么写,而是想清楚——用户到底需要「看全字段」还是「快速扫关键信息」。前者绕不开滚动或结构切换,后者用截断+优先级排序就够了。

  • 热门AI工具

    更多
    豆包大模型

    豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

    讯飞绘文

    讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

    超级简历WonderCV

    一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

    WorkBuddy

    一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

    Laper
    Laper Hot

    Laper是专为编剧、导演和制片人推出的 AI 原生剧本创作工具。

    Loomy
    Loomy Hot

    一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

    DeepSeek

    DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

    UpDream
    UpDream Hot

    一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

    Flowith
    Flowith Hot

    Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

    相关专题

    更多
    堆和栈的区别
    堆和栈的区别

    堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

    6747

    2023.07.18

    堆和栈区别
    堆和栈区别

    堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

    2788

    2023.08.10

    class在c语言中的意思
    class在c语言中的意思

    在C语言中,"class" 是一个关键字,用于定义一个类。想了解更多class的相关内容,可以阅读本专题下面的文章。

    4476

    2024.01.03

    python中class的含义
    python中class的含义

    本专题整合了python中class的相关内容,阅读专题下面的文章了解更多详细内容。

    326

    2025.12.06

    js正则表达式
    js正则表达式

    php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

    4856

    2023.06.20

    js获取当前时间
    js获取当前时间

    JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

    1435

    2023.07.28

    js 字符串转数组
    js 字符串转数组

    js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

    1898

    2023.08.03

    js是什么意思
    js是什么意思

    JS是JavaScript的缩写,它是一种广泛应用于网页开发的脚本语言。JavaScript是一种解释性的、基于对象和事件驱动的编程语言,通常用于为网页增加交互性和动态性。它可以在网页上实现复杂的功能和效果,如表单验证、页面元素操作、动画效果、数据交互等。

    10403

    2023.08.17

    Postman身份认证怎么配置
    Postman身份认证怎么配置

    本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

    0

    2026.11.06

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    相关下载

    更多

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    Sass 教程
    Sass 教程

    共14课时 | 1.6万人学习

    最新文章

    更多

    PDF工具

    更多
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn