<var>标签仅语义化标注变量名本身,不解析公式、不处理上下标、不参与数学排版;适用于HTML描述性文本中强调待替换的符号(如<var>r</var>),禁用于数值、常量、函数名或单位。

var 标签不是数学公式渲染工具
<var> 标签不解析公式结构、不处理上下标、不支持运算符对齐,也不参与任何数学排版。它只是把一段文本标记为“变量名”,浏览器不会把它当 LaTeX 或 MathML 处理。写 <var>r</var><sup>2</sup>,r 会斜体,但 2 不是上标——除非你手动加 <sup>,而这个上标和 <var> 没关系。
什么时候该用 var 包裹数学符号
仅当你要在**纯 HTML 描述性文本中提及变量名本身**,且该变量是公式里待替换的符号(不是数值、不是单位、不是函数名):
- ✅ 正确:
<p>圆面积公式 π × <var>r</var><sup>2</sup> 中,<var>r</var> 表示半径</p> - ✅ 正确:
<p>设 <var>Δt</var> 为时间步长</p> - ❌ 错误:
<p>解得 <var>x</var> = 5</p>(这里x是数学符号,但整句是结论陈述,<var>语义弱,应直接写或用<math><mi>x</mi></math>) - ❌ 错误:
<var>π</var>、<var>sin</var>、<var>cm</var>(这些不是变量名,是常量、函数名或单位,该用<code>或普通文本)
var 和 MathML / KaTeX 的边界在哪
<var> 不能替代专业数学排版方案。它只适合轻量标注,比如文档段落里的单个字母变量;一旦涉及分数、积分、矩阵、下划线命名(如 _var),就必须换方案:
- 严肃数学表达必须用
<math><mi>r</mi></math>(MathML)或 KaTeX 的$r^2$ -
<var>_var</var>在多数环境下会被误读为下标(因下划线触发排版规则),根本无法正确显示 - 如果项目已用 KaTeX 渲染公式,混用
<var>反而破坏一致性——KaTeX 会忽略它,只渲染 LaTeX 内容 - 想让
<var>看起来更像数学变量?加 CSS:var { font-style: italic; font-family: "STIXGeneral", serif; },但这只是视觉模拟,不解决语义或可访问性问题
容易被忽略的兼容与可访问性细节
<var> 默认斜体靠的是浏览器 UA 样式,不是规范强制。这意味着:
立即学习“前端免费学习笔记(深入)”;
- 若全局重置了
font-style(比如 CSS Reset 或 Design System),<var>就失去视觉区分,变成普通文本 - 屏幕阅读器可能读作 “variable r”,但不保证所有辅助技术都支持;若需可靠语义,MathML 的
<mi>更稳妥 - 旧版 IE(≤8)不识别
<var>,会降级为无样式 inline 元素,且无法通过 ARIA 补救 - 别指望它自动适配深色模式、缩放或高对比度设置——样式必须显式声明



















