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

在HTML文件中直接嵌入Mermaid图表:完整教程

轻辰大大_7452

轻辰大大_7452

发布时间:2025-12-08 15:50:40

|

589人浏览过

|

来源于php中文网

原创

在HTML文件中直接嵌入Mermaid图表:完整教程

本教程将详细指导您如何在标准的html文件中直接集成mermaid图表。通过引入mermaid的es模块cdn并进行简单的javascript初始化,您可以轻松地在网页上渲染流程图、时序图等,摆脱对外部预览工具的依赖,实现图表的原生展示。

在日常开发和文档撰写中,我们经常需要绘制各种图表来辅助理解和沟通,例如流程图、时序图、甘特图等。Mermaid是一个基于文本的图表绘制工具,它允许开发者使用简单的Markdown风格语法来生成复杂的图表。虽然Mermaid常与Markdown编辑器或预览工具配合使用,但有时我们需要将其直接嵌入到HTML文件中,以便在Web页面中原生展示。本文将详细介绍如何在HTML文件中直接集成Mermaid图表。

核心步骤:引入Mermaid库并初始化

要在HTML文件中直接渲染Mermaid图表,主要涉及两个步骤:首先,通过CDN引入Mermaid的JavaScript库;其次,通过JavaScript代码初始化Mermaid,使其能够识别并渲染HTML中的图表定义。

1. 引入Mermaid库

Mermaid提供了ES模块(ESM)版本,可以直接通过script type="module"标签从CDN导入。这种方式简洁高效,无需额外的构建工具。

立即学习“前端免费学习笔记(深入)”;

<script type="module">
    import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9/dist/mermaid.esm.min.mjs';
    // ... 后续初始化代码
</script>

这里我们从cdn.jsdelivr.net引入了Mermaid的ESM版本。@9表示引入Mermaid的第9个主版本,您可以根据需要调整版本号。

Java Maven Common
Java Maven Common

Java Maven 项目审查工作流的通用输入处理。当 Java Maven 项目以 ZIP压缩包或 GitLab 仓库 URL 形式提供且需要...时使用。

下载

2. 初始化Mermaid

导入Mermaid库后,需要对其进行初始化,告诉它何时以及如何渲染页面中的图表。最常见的初始化方式是设置startOnLoad: true,这会使Mermaid在页面加载完成后自动查找并渲染所有带有特定CSS类的图表定义。

mermaid.initialize({ startOnLoad: true });

将上述初始化代码放置在导入Mermaid的script标签内,即可完成自动渲染的配置。

完整示例:在HTML中嵌入Mermaid图表

下面是一个完整的HTML文件示例,演示了如何嵌入不同类型的Mermaid图表:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>在HTML中嵌入Mermaid图表示例</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 20px;
            line-height: 1.6;
        }
        h1, h2 {
            color: #333;
        }
        .mermaid {
            margin: 20px 0;
            border: 1px solid #eee;
            padding: 15px;
            border-radius: 5px;
            background-color: #f9f9f9;
            overflow-x: auto; /* 防止图表过宽时溢出 */
        }
    </style>
</head>
<body>

    <h1>Mermaid图表在HTML文件中的直接集成</h1>

    <p>以下是一个简单的流程图示例,展示了决策和分支逻辑:</p>
    <div class="mermaid">
        graph TD
            A[开始] --> B{处理数据};
            B -- 是 --> C[生成报告];
            B -- 否 --> D[等待输入];
            C --> E[结束];
            D --> A;
    </div>

    <p>这是一个C4组件图示例,用于描述系统架构中的组件关系:</p>
    <div class="mermaid">
        C4Component
            title 用户认证流程的组件图
            Component(Frontend, "Web Frontend", "用户界面")
            Component(AuthService, "认证服务", "处理用户登录/注册")
            Component(Database, "用户数据库", "存储用户信息")

            Rel(Frontend, AuthService, "调用认证API")
            Rel(AuthService, Database, "读写用户数据")
    </div>

    <!-- 引入Mermaid库并初始化 -->
    <script type="module">
        import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@9/dist/mermaid.esm.min.mjs';
        // 初始化Mermaid,设置startOnLoad为true,使其在页面加载时自动渲染所有class="mermaid"的元素
        mermaid.initialize({ startOnLoad: true });
    </script>

</body>
</html>

代码解析:

  • <div class="mermaid">...</div>: 这是Mermaid图表内容的容器。Mermaid库在初始化时会查找所有带有mermaid类的div元素,并将其内部的文本内容解析为图表。
  • Mermaid图表语法: graph TD ... 和 C4Component ... 是Mermaid的图表定义语法。您可以在Mermaid官方文档中找到更多图表类型的语法。
  • <script type="module">: 使用type="module"是为了能够使用import语句导入ES模块。这种方式是现代JavaScript模块加载的标准实践。
  • import mermaid from '...': 从CDN导入Mermaid库。请注意,这里的URL指向的是ESM(ECMAScript Module)版本。
  • mermaid.initialize({ startOnLoad: true });: 这是Mermaid的初始化函数。
    • startOnLoad: true:告诉Mermaid在文档加载完成后自动扫描DOM,并渲染所有class="mermaid"的元素。

注意事项与最佳实践

  1. Mermaid版本选择: CDN链接中的版本号(例如@9)决定了您使用的Mermaid版本。建议使用稳定版本,并定期检查是否有重要的更新或安全补丁。
  2. 图表容器: 务必将Mermaid图表定义放在一个带有class="mermaid"的HTML元素(通常是div)中。Mermaid默认会查找这些元素进行渲染。
  3. 初始化选项: mermaid.initialize()函数接受一个配置对象,您可以利用它来自定义Mermaid的行为,例如:
    • theme: 设置图表主题,如'default', 'forest', 'dark', 'neutral'.
    • logLevel: 控制日志输出级别。
    • securityLevel: 调整渲染时的安全级别,默认为'strict'.
    • 更多选项请参考Mermaid官方文档。
  4. 异步加载: type="module"的脚本是默认异步加载和执行的,不会阻塞HTML解析。这对于页面性能是有益的。
  5. 错误处理: 如果您的Mermaid图表语法有误,Mermaid通常会在控制台输出错误信息,并且图表可能无法正确渲染。请检查控制台以获取调试信息。
  6. CDN稳定性: 虽然CDN通常非常稳定,但在生产环境中,您可能需要考虑将Mermaid库下载到本地服务器,以避免对外部网络的依赖。

总结

通过本教程,您应该已经掌握了在HTML文件中直接嵌入Mermaid图表的方法。这种方式使得Mermaid图表能够无缝集成到任何Web页面中,提供了强大的可视化能力,并且摆脱了对外部预览工具的依赖。无论是开发文档、技术博客还是交互式报告,Mermaid都能帮助您以简洁高效的方式呈现复杂的概念和流程。

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
超级简历WonderCV

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

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

DeepSeek

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

UpDream
UpDream Hot

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

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

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

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

豆包大模型

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

WorkBuddy

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

相关专题

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

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

3976

2024.01.03

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

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

306

2025.12.06

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

357

2023.12.07

DOM是什么意思
DOM是什么意思

dom的英文全称是documentobjectmodel,表示文件对象模型,是w3c组织推荐的处理可扩展置标语言的标准编程接口;dom是html文档的内存中对象表示,它提供了使用javascript与网页交互的方式。想了解更多的相关内容,可以阅读本专题下面的文章。

6521

2024.08.14

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

20

2026.10.21

Playwright 页面操作指南
Playwright 页面操作指南

Playwright页面操作专题汇集元素定位、点击与输入、等待响应、多页面切换、Iframe、事件监听及文件处理的已审核文章,便于按操作场景查阅示例与常见问题。

0

2026.10.21

Playwright 入门教程
Playwright 入门教程

Playwright入门专题汇集测试框架安装、VS Code配置、录制脚本、编写首个用例、运行调试及查看报告的已审核文章,帮助初学者搭建端到端测试流程。

0

2026.10.21

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

120

2026.10.16

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

80

2026.10.16

热门下载

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

精品课程

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

共14课时 | 1.5万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 6万人学习

CSS教程
CSS教程

共754课时 | 98.3万人学习

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

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