当前位置: 首页 > news >正文

带 CSS 样式模式的甘特图开发代码|Highcharts Gantt高级开发示列

带 CSS 样式模式的甘特图完整代码,这是 Highcharts 非常专业的 ** 纯 CSS 控制样式(styledMode)** 用法,完全分离结构与样式,适合企业级、可换肤场景。

完整可运行代码(Styled Mode 纯 CSS 甘特图)

const today = new Date(), day = 1000 * 60 * 60 * 24; // Set to 00:00:00:000 today today.setUTCHours(0); today.setUTCMinutes(0); today.setUTCSeconds(0); today.setUTCMilliseconds(0); // THE CHART Highcharts.ganttChart('container', { chart: { styledMode: true }, title: { text: 'Highcharts Gantt in Styled Mode' }, subtitle: { text: 'Purely CSS-driven design' }, xAxis: { min: today.getTime() - (2 * day), max: today.getTime() + (32 * day) }, accessibility: { keyboardNavigation: { seriesNavigation: { mode: 'serialize' } }, point: { descriptionFormat: '{yCategory}. Start {x:%Y-%m-%d}, end ' + '{x2:%Y-%m-%d}.' } }, lang: { accessibility: { axis: { xAxisDescriptionPlural: 'The chart has a two-part X axis ' + 'showing time in both week numbers and days.' } } }, series: [{ name: 'Project 1', data: [{ name: 'Planning', id: 'planning', start: today.getTime(), end: today.getTime() + (20 * day) }, { name: 'Requirements', id: 'requirements', parent: 'planning', start: today.getTime(), end: today.getTime() + (5 * day) }, { name: 'Design', id: 'design', dependency: 'requirements', parent: 'planning', start: today.getTime() + (3 * day), end: today.getTime() + (20 * day) }, { name: 'Layout', id: 'layout', parent: 'design', start: today.getTime() + (3 * day), end: today.getTime() + (10 * day) }, { name: 'Graphics', parent: 'design', dependency: 'layout', start: today.getTime() + (10 * day), end: today.getTime() + (20 * day) }, { name: 'Develop', id: 'develop', start: today.getTime() + (5 * day), end: today.getTime() + (30 * day) }, { name: 'Create unit tests', id: 'unit_tests', dependency: 'requirements', parent: 'develop', start: today.getTime() + (5 * day), end: today.getTime() + (8 * day) }, { name: 'Implement', id: 'implement', dependency: 'unit_tests', parent: 'develop', start: today.getTime() + (8 * day), end: today.getTime() + (30 * day) }] }] });

这个图表的核心特点(Styled Mode)

styledMode: true—— 开启纯 CSS 样式控制,JS 不写颜色✅任务父子层级(Planning → Design → Develop)✅任务依赖连线(自动箭头)✅时间轴自动以今天为起点官方 CSS 主题highcharts.css完全自定义样式(颜色、边框、连线、悬浮效果)✅无障碍支持 + 键盘导航

必须注意的关键依赖

  1. 必须加载highcharts.cssStyled Mode 必须引入官方 CSS,否则图表无样式。
  2. JS 中不再写color/fill所有颜色、边框、大小全部写在 CSS 里,实现结构样式分离。
  3. 依赖、父子关系自动渲染parent/dependency建立关系,连线自动生成。

你可以直接修改的 CSS 样式示例

/* 任务条颜色 */ .highcharts-point { fill: #b3e5fc; stroke: #0277bd; } /* 依赖连线颜色 */ .highcharts-connector { stroke: #ff6f00; } /* 文字颜色 */ .highcharts-data-label text { fill: #222; }
http://www.jsqmd.com/news/732026/

相关文章:

  • 2026年3月目前服务好的粘钉一体机厂商口碑推荐,行业内粘钉一体机选哪家 - 品牌推荐师
  • SpringBoot项目实战:用Cola4.0重构订单系统,告别Controller-Service-DAO的老套路
  • 2026 年最强 AI 编程助手?OpenAI Codex 零基础入门指南
  • GM(1,1)模型实战:用Python预测下个月网站流量,我的数据真的够用吗?
  • 技术深度解析:VADER Sentiment情感分析引擎的词典驱动与规则融合架构
  • 终极指南:用PianoPlayer智能指法生成器快速提升钢琴演奏水平
  • 创业公司如何利用统一 API 快速集成多种大模型能力
  • 用VBA集成OpenAI API,在Excel中打造你的AI助手
  • 利用Taotoken访问控制功能,安全管理团队内部AI资源使用
  • 视觉语言模型架构与CVPO优化技术解析
  • 供应链专员考SCMP能升经理吗 - 众智商学院官方
  • 别再死记硬背了!用Wireshark抓包实战解析OPC UA over TCP握手过程
  • 避开SPI库依赖:用STC32G的GPIO模拟驱动RC522读卡模块(附完整代码)
  • 基于零信任与策略即代码的AI安全SSH编排器实战指南
  • 独立开发者如何借助 Taotoken 以更低成本实验不同大模型 API
  • 如何在Windows上搭建免费的AirPlay 2投屏接收器:打破苹果生态壁垒的完整方案
  • 极简数字知识管理:用单一Markdown文件构建个人知识系统
  • KLayout终极指南:开源版图设计工具从入门到精通
  • 800x480 RGB屏时序参数怎么算?手把手教你搞定DE模式与SYNC模式
  • 避坑指南:华三交换机IRF堆叠+动态链路聚合配置中,那些容易忽略的细节(附排错命令)
  • 告别动态数据:手把手教你用DAQmx VI重构DAQ助手任务,实现灵活触发与高级控制
  • 【SQL性能优化篇】有了!治理慢SQL“WHERE create_time ORDER BY id”的良药---规避“Using filesort”性能杀手
  • Arcade-plus:从音乐节奏玩家到专业谱面设计师的终极指南
  • 观察 Taotoken 在高峰时段的 API 调用延迟与路由稳定性表现
  • 初创视频团队如何通过Taotoken低成本接入多模型AI能力
  • 21_《智能体微服务架构企业级实战教程》高德地图FastMCP服务之路径规划工具
  • Comfy-Photoshop-SD:深度解析AI图像创作的无缝集成方案
  • Diablo Edit2:暗黑破坏神2存档编辑器的终极指南
  • Flappy:声明式云原生AI应用部署框架实战指南
  • 杏林暖护顺丰,医企共筑安康|杏园金方走进顺丰速运,开展中医义诊活动