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

响应式会议日程表模板:基于 CSS Grid 的多地点时间轴布局

冬墨酱_9755

冬墨酱_9755

发布时间:2026-02-23 10:50:01

|

727人浏览过

|

来源于php中文网

原创

响应式会议日程表模板:基于 CSS Grid 的多地点时间轴布局

本文介绍一种使用 css grid 构建的响应式会议日程表方案,支持桌面端(地点横向排列、时间纵向排列)与移动端(地点纵向排列、时间横向排列+横向滚动)双模式,并原生支持跨列/跨行的“休息时段”区块。

本文介绍一种使用 css grid 构建的响应式会议日程表方案,支持桌面端(地点横向排列、时间纵向排列)与移动端(地点纵向排列、时间横向排列+横向滚动)双模式,并原生支持跨列/跨行的“休息时段”区块。

在活动官网或会议管理系统中,清晰呈现多场地、多时段的日程安排是用户体验的关键。传统列表式或表格式布局难以灵活表达“某场休息覆盖多个场地”这类语义,而 CSS Grid 提供了精准的二维定位能力——通过 grid-area 显式声明元素的行列范围,可自然实现跨区域占位,无需 JavaScript 或复杂嵌套。

以下是一个完整、可立即运行的响应式日程表模板,包含 3 个核心设计原则:

CSS工具箱(专业版)
CSS工具箱(专业版)

全功能 CSS 工程手册,覆盖性能优化、无障碍、设计系统与跨浏览器兼容。

下载

✅ 语义化结构:每个事件/休息块独立为

,通过 id 标识,便于后续添加链接、图标或动态数据绑定;
✅ 双模响应逻辑:使用 @media (orientation: landscape/portrait) 快速适配设备方向(生产环境建议改用 min-width 断点,如 @media (min-width: 768px) 更可靠);
✅ 滚动友好:移动端下,容器设为 overflow-x: auto 并禁用换行,确保横向滑动流畅。

✅ 完整 HTML + CSS 示例

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>会议日程表 | 响应式 Grid 模板</title>
  <style>
    * { box-sizing: border-box; }
    body {
      margin: 0;
      padding: 0;
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      line-height: 1.5;
    }

    #grid {
      display: grid;
      /* 12×12 网格基底,兼顾精度与灵活性 */
      grid-template-rows: repeat(12, 1fr);
      grid-template-columns: repeat(12, 1fr);
      gap: 10px;
      width: 100vw;
      height: 100vh;
      padding: 20px;
      overflow-x: hidden;
    }

    /* 公共样式:所有区块居中显示文字 */
    #grid > div {
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: 4px;
      color: #333;
      font-weight: 600;
      text-align: center;
      padding: 8px;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    /* 桌面端:地点在顶部(第1行),时间轴在左侧(第1列) */
    @media (min-width: 768px) {
      #grid {
        overflow-x: hidden;
      }
      #location { grid-area: 1 / 1 / 2 / 13; background-color: rgba(40, 174, 181, 0.5); }
      #event1   { grid-area: 2 / 1 / 5 / 4;  background-color: rgba(223, 210, 166, 0.5); }
      #breakfast{ grid-area: 2 / 4 / 5 / 5;  background-color: rgba(223, 239, 48, 0.5); }
      #event2   { grid-area: 2 / 5 / 4 / 9;  background-color: rgba(203, 167, 85, 0.5); }
      #event3   { grid-area: 2 / 9 / 4 / 13; background-color: rgba(72, 210, 57, 0.5); }
      #break     { grid-area: 4 / 5 / 5 / 13; background-color: rgba(95, 40, 159, 0.5); }
      #event4   { grid-area: 5 / 5 / 8 / 9;  background-color: rgba(186, 150, 134, 0.5); }
    }

    /* 移动端:地点在左侧(第1列),时间轴在顶部(第1行),启用横向滚动 */
    @media (max-width: 767px) {
      #grid {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
      }
      /* 强制单行显示,避免换行破坏时间轴逻辑 */
      #grid > div {
        scroll-snap-align: start;
      }
      #location { grid-area: 1 / 1 / 13 / 2; background-color: rgba(40, 174, 181, 0.5); }
      #event1   { grid-area: 1 / 2 / 4 / 5;  background-color: rgba(223, 210, 166, 0.5); }
      #breakfast{ grid-area: 4 / 2 / 5 / 5;  background-color: rgba(223, 239, 48, 0.5); }
      #event2   { grid-area: 5 / 2 / 9 / 6;  background-color: rgba(203, 167, 85, 0.5); }
      #event3   { grid-area: 5 / 6 / 9 / 10; background-color: rgba(72, 210, 57, 0.5); }
      #break     { grid-area: 5 / 10 / 13 / 11; background-color: rgba(95, 40, 159, 0.5); }
      #event4   { grid-area: 9 / 2 / 13 / 6; background-color: rgba(186, 150, 134, 0.5); }
    }
  </style>
</head>
<body>
  <div id="grid">
    <div id="location">? 场地 A / B / C</div>
    <div id="event1">☕ 开幕 & 欢迎</div>
    <div id="breakfast">? 早餐交流</div>
    <div id="event2">? 主题演讲</div>
    <div id="event3">? 工作坊 A</div>
    <div id="break">⏸️ 全场休息</div>
    <div id="event4">? 圆桌讨论</div>
  </div>
</body>
</html>

⚠️ 关键注意事项

  • 断点选择建议:orientation 媒体查询在折叠屏、平板横竖切换时行为不稳定,强烈推荐改用 min-width / max-width(如上例所示),以保证逻辑可预测;
  • 跨区域区块必须显式定义 grid-area:CSS Grid 不支持“自动合并单元格”,所有需跨越多行/列的内容都必须手动计算起止行列线(例如 grid-area: 4 / 5 / 5 / 13 表示从第4行开始、第5列开始,到第5行结束(不含)、第13列结束(不含));
  • 移动端滚动优化:添加 scroll-snap-align: start 可提升滑动停靠体验;-webkit-overflow-scrolling: touch 增强 iOS 流畅度(虽已逐步废弃,但兼容性仍佳);
  • 可访问性增强:实际项目中,应为每个区块添加 aria-label(如 aria-label="上午9:00–10:30|主题演讲|场地A"),并确保颜色对比度符合 WCAG 2.1 AA 标准。

该模板已在 Chrome、Firefox、Safari 及 Edge 最新版中验证通过,零依赖、纯 CSS 驱动,可直接集成至 Vue/React 项目作为静态骨架,或通过 JS 动态注入数据生成完整日程。如需扩展为支持拖拽编辑、实时同步或导出 PDF,可在本结构基础上叠加轻量级交互层——Grid 的稳定布局正是此类增强的理想基础。

热门AI工具

更多
PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

WorkBuddy

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

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

DeepSeek

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

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

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

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

2926

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

6039

2023.11.06

Chrome开启无痕模式
Chrome开启无痕模式

本专题整合了Chrome无痕模式开启相关内容,阅读专题下面的文章了解更多详细教程。

4307

2026.03.24

edge是什么浏览器
edge是什么浏览器

Edge是一款由Microsoft开发的网页浏览器,是Windows 10操作系统中默认的浏览器,其目标是提供更快、更安全、更现代化的浏览器体验。本专题为大家提供edge浏览器相关的文章、下载、课程内容,供大家免费下载体验。

3122

2023.08.21

IE浏览器自动跳转EDGE如何恢复
IE浏览器自动跳转EDGE如何恢复

ie浏览器自动跳转edge的解决办法:1、更改默认浏览器设置;2、阻止edge浏览器的自动跳转;3、更改超链接的默认打开方式;4、禁用“快速网页查看器”;5、卸载edge浏览器;6、检查第三方插件或应用程序等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2994

2024.03.05

如何解决Edge打开但没有标题的问题
如何解决Edge打开但没有标题的问题

若 Microsoft Edge 浏览器打开后无标题(窗口空白或标题栏缺失),可尝试以下方法解决: 重启 Edge:关闭所有窗口,重新启动浏览器。 重置窗口布局:右击任务栏 Edge 图标 → 选择「最大化」或「还原」。 禁用扩展:进入 edge://extensions 临时关闭插件测试。 重置浏览器设置:前往 edge://settings/reset 恢复默认配置。 更新或重装 Edge:检查最新版本,或通过控制面板修复

3332

2025.04.24

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

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

4856

2023.06.20

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

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

1435

2023.07.28

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

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

0

2026.11.06

热门下载

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

精品课程

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

共14课时 | 1.6万人学习

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

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