You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Markdown/HTML的指定CSS类div中渲染MathJax/KaTeX数学公式

自定义类元素内MathJax/KaTeX公式渲染方案

问题根源

大多数Markdown解析器默认不会解析HTML块标签内部的内容,若HTML起始标签后直接跟内容,解析器会将内部所有内容判定为纯HTML文本,不会触发LaTeX公式、Markdown语法的解析逻辑,因此你写的$...$、$$...$$格式公式无法被MathJax/KaTeX识别渲染。

具体实现步骤

1. 修正CSS属性选择器

你现有CSS中针对自定义文本的选择器与实际使用的属性不匹配,需调整为对应data-text属性:

.theorem {
  display: block;
  font-style: italic;
}
.theorem:before {
  content: "Theorem. ";
  font-weight: bold;
  font-style: normal;
}
.theorem[data-text]:before {
  content: "Theorem (" attr(data-text) ") ";
}

2. 规范div标签写法

只需在div起始标签和内部内容之间空出一行,即可触发Markdown解析逻辑,公式就能正常渲染:

<div class="theorem" data-text="Foo">

给定 $a, b$ 为正实数:
$$a + b \geq 2\sqrt{ab}$$
</div>

兼容性优化

如果在部分严格限制HTML内部解析的Markdown环境中仍无法生效,可以给div添加markdown="1"属性强制开启内部Markdown解析:

<div class="theorem" data-text="Foo" markdown="1">

给定 $a, b$ 为正实数:
$$a + b \geq 2\sqrt{ab}$$
</div>

内容的提问来源于stack exchange,提问作者shnnnms

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 21:24:02