0

0

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

碧海醫心

碧海醫心

发布时间:2026-02-23 11:01:15

|

794人浏览过

|

来源于php中文网

原创

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

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

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

在组织多场地、多时段的会议或活动时,一个清晰、灵活且适配多设备的日程可视化方案至关重要。传统基于

或浮动布局的实现难以优雅处理“跨地点休息时段”(如茶歇覆盖全部三个会场),而列表式结构(如
    +
  • )又缺乏二维空间控制能力。CSS Grid 凭借其显式的行列定义与区域合并能力,成为构建此类动态时间表的理想选择。

    以下是一个生产就绪的精简模板,核心逻辑如下:

    Rezi.ai
    Rezi.ai

    一个使用 AI 自动化创建简历平台

    下载
    • 使用 grid-area 精确定义每个区块在网格中的起止行列;
    • 通过 @media 查询区分横屏(桌面)与竖屏(移动)布局,避免依赖 orientation(该属性在桌面浏览器中不可靠);
    • 移动端启用水平滚动(overflow-x: auto),确保窄屏下完整内容可见;
    • 所有区块均采用语义化 ID,并支持无障碍标签(建议后续补充 aria-label 和 role="region")。

    ✅ 完整 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>会议日程表</title>
      <style>
        * { box-sizing: border-box; }
        body {
          margin: 0;
          font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
          line-height: 1.5;
        }
    
        #timetable {
          display: grid;
          width: 100vw;
          min-height: 100vh;
          padding: 1rem;
          gap: 0.75rem;
          /* 默认为移动端布局:地点在左,时间在上 */
          grid-template-rows: repeat(3, 1fr);     /* 3 地点行 */
          grid-template-columns: 8rem repeat(12, 1fr); /* 第一列为地点,后12列为时间槽(如每30min一格) */
          overflow-x: auto;
          scroll-behavior: smooth;
        }
    
        /* 桌面端:转为时间在左、地点在上 */
        @media (min-width: 768px) {
          #timetable {
            grid-template-rows: 3rem repeat(12, 1fr); /* 第一行为时间标题,后12行为时间槽 */
            grid-template-columns: 6rem repeat(3, 1fr); /* 第一列为时间,后3列为地点 */
            overflow-x: visible;
          }
        }
    
        /* 公共样式 */
        .slot {
          padding: 0.75rem;
          border-radius: 0.375rem;
          color: #333;
          font-weight: 500;
          white-space: normal;
          overflow: hidden;
          text-overflow: ellipsis;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: flex-start;
        }
    
        .slot-time, .slot-location {
          background-color: #f1f5f9;
          font-size: 0.875rem;
          font-weight: 600;
          color: #475569;
          display: flex;
          align-items: center;
          justify-content: center;
        }
    
        /* 示例区块 —— 可按需替换为真实数据 */
        #location-a { grid-area: 2 / 1 / 3 / 2; background-color: #e0f2fe; }
        #location-b { grid-area: 3 / 1 / 4 / 2; background-color: #dbeafe; }
        #location-c { grid-area: 4 / 1 / 5 / 2; background-color: #f0fdf4; }
    
        #time-0900 { grid-area: 1 / 2 / 2 / 3; background-color: #f1f5f9; }
        #time-0930 { grid-area: 1 / 3 / 2 / 4; background-color: #f1f5f9; }
        #time-1000 { grid-area: 1 / 4 / 2 / 5; background-color: #f1f5f9; }
    
        #talk-1 { grid-area: 2 / 2 / 3 / 4; background-color: #bfdbfe; }
        #talk-2 { grid-area: 3 / 3 / 4 / 5; background-color: #c7d2fe; }
        #lunch   { grid-area: 2 / 4 / 4 / 5; background-color: #fcd34d; } /* 跨2地点 */
        #keynote { grid-area: 2 / 5 / 5 / 6; background-color: #a78bfa; } /* 跨3地点 */
    
        /* 桌面端重定位 */
        @media (min-width: 768px) {
          #location-a { grid-area: 1 / 2 / 2 / 3; background-color: #e0f2fe; }
          #location-b { grid-area: 1 / 3 / 2 / 4; background-color: #dbeafe; }
          #location-c { grid-area: 1 / 4 / 2 / 5; background-color: #f0fdf4; }
    
          #time-0900 { grid-area: 2 / 1 / 3 / 2; background-color: #f1f5f9; }
          #time-0930 { grid-area: 3 / 1 / 4 / 2; background-color: #f1f5f9; }
          #time-1000 { grid-area: 4 / 1 / 5 / 2; background-color: #f1f5f9; }
    
          #talk-1 { grid-area: 2 / 2 / 3 / 3; background-color: #bfdbfe; }
          #talk-2 { grid-area: 3 / 3 / 4 / 4; background-color: #c7d2fe; }
          #lunch   { grid-area: 2 / 4 / 4 / 5; background-color: #fcd34d; } /* 跨2时间槽 */
          #keynote { grid-area: 2 / 2 / 5 / 5; background-color: #a78bfa; } /* 跨3时间槽 & 3地点 → 实际占满整个区域 */
        }
      </style>
    </head>
    <body>
      <div id="timetable">
        <!-- 地点标题(移动端第一列) -->
        <div id="location-a" class="slot slot-location">主会场 A</div>
        <div id="location-b" class="slot slot-location">分会场 B</div>
        <div id="location-c" class="slot slot-location">线上会议室 C</div>
    
        <!-- 时间标题(移动端顶部行) -->
        <div id="time-0900" class="slot slot-time">09:00</div>
        <div id="time-0930" class="slot slot-time">09:30</div>
        <div id="time-1000" class="slot slot-time">10:00</div>
        <div id="time-1030" class="slot slot-time">10:30</div>
        <div id="time-1100" class="slot slot-time">11:00</div>
    
        <!-- 活动区块 -->
        <div id="talk-1" class="slot">主题演讲:未来趋势</div>
        <div id="talk-2" class="slot">圆桌讨论:技术实践</div>
        <div id="lunch" class="slot">午餐 & 交流</div>
        <div id="keynote" class="slot">重磅主旨演讲</div>
      </div>
    </body>
    </html>

    ⚠️ 关键注意事项

    • 避免 orientation: portrait/landscape 媒体查询:该特性在桌面浏览器中不触发,且平板横竖屏切换时行为不稳定;推荐使用 min-width(如 768px)或 min-height 配合视口单位判断。
    • 跨区域合并必须显式声明:Grid 中“跨多列/多行”的区块(如茶歇、主旨演讲)需用 grid-area: r1 / c1 / r2 / c2 明确范围,不能依赖自动流式布局。
    • 移动端水平滚动体验优化
      • 添加 scroll-behavior: smooth 提升滑动流畅度;
      • 对容器设置 overscroll-behavior-x: contain 可防止滚动穿透到父级;
      • 建议为 .slot 添加 flex-shrink: 0 防止内容被压缩。
    • 可访问性增强:为每个 .slot 添加 aria-label(如 aria-label="主会场A,09:00–09:30:主题演讲"),并用

      包裹标题区域。

    ✅ 总结

    本方案以 CSS Grid 为核心,摆脱了表格语义束缚与列表布局局限,天然支持二维空间伸缩与区域合并,同时通过媒体查询实现真正的响应式重构——不仅是尺寸适配,更是信息架构的逻辑重组。开发者可基于此模板快速注入真实日程数据(建议配合 JavaScript 动态渲染),并轻松扩展为支持拖拽编辑、实时状态标记、导出 PDF 等高级功能的完整日程系统。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
overflow什么意思
overflow什么意思

overflow是一个用于控制元素溢出内容的属性,当元素的内容超出其指定的尺寸时,overflow属性可以决定如何处理这些溢出的内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1821

2024.08.15

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

367

2023.06.14

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

367

2023.06.14

li是什么元素
li是什么元素

li是HTML标记语言中的一个元素,用于创建列表。li代表列表项,它是ul或ol的子元素,li标签的作用是定义列表中的每个项目。本专题为大家li元素相关的各种文章、以及下载和课程。

436

2023.08.03

pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

1044

2026.02.13

微博网页版主页入口与登录指南_官方网页端快速访问方法
微博网页版主页入口与登录指南_官方网页端快速访问方法

本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

334

2026.02.13

Flutter跨平台开发与状态管理实战
Flutter跨平台开发与状态管理实战

本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

213

2026.02.13

TypeScript工程化开发与Vite构建优化实践
TypeScript工程化开发与Vite构建优化实践

本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

35

2026.02.13

Redis高可用架构与分布式缓存实战
Redis高可用架构与分布式缓存实战

本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

111

2026.02.13

热门下载

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

精品课程

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

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.4万人学习

CSS教程
CSS教程

共754课时 | 35万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号