标签仅语义标注变量名,不存值、不参与计算、不绑定js、不控制排版;仅在解释公式中字母所代表的含义时使用,不可用于渲染完整公式、数字、单位或嵌套。

<var></var> 标签不定义变量,只标注变量名——它不存值、不参与计算、不绑定 JS、不控制排版。
什么时候该用 <var></var> 标注数学符号
仅在解释公式语义时使用,比如说明“这个字母代表什么”,不是渲染公式本身。
- ✅ 正确:
<p>设 <var>r</var> 为半径,<var>π</var> 为圆周率</p> - ✅ 正确:
<p><var>a</var><sup>2</sup> + <var>b</var><sup>2</sup> = <var>c</var><sup>2</sup></p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill5493" title="html-to-pptx"><img src="https://img.php.cn/upload/skill/000/000/081/179051045119472.jpg" alt="html-to-pptx" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill5493" title="html-to-pptx" class="overflowclass">html-to-pptx</a> <p class="overflowclass">将多页 HTML 演示文稿转换为美化的 PPTX 文件,便于分享和分发。</p> </div> <a rel="nofollow" href="/xiazai/skill5493" title="html-to-pptx" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> - ❌ 错误:
<var>A = πr²</var>—— 整个等式不是变量名 - ❌ 错误:
<var>5</var>或<var>m</var>—— 数字和单位不能套<var></var>
<var></var> 和 <code> 混用的边界在哪
两者语义冲突:一个标“这是变量名”,一个标“这是可执行字面量”。混用会让屏幕阅读器困惑,也破坏样式隔离。
- ✅ 推荐:
<p>调用 <code>fetch(url) - ✅ 推荐:
<code>for (let <var>i</var> = 0; <var>i</var> i++) - ❌ 禁止:
<var><code>x——<code>已含语义,再套一层冗余 - ❌ 禁止:
<code>const <var>timeout</var> = 5000;—— 应拆成<code>consttimeout= 5000;
复杂公式别硬扛,<var></var> 不是 MathML
<var></var> 不控制字体、上下标位置、间距或希腊字母正斜体——它只是语义标签。真要排版公式,得用 MathML、KaTeX 或 MathJax。
- ✅ 正确 MathML 示例:
<math><mi>A</mi><mo>=</mo><mi>π</mi><msup><mi>r</mi><mn>2</mn></msup></math> - ⚠️ 注意:
<var></var>的默认斜体只是浏览器默认样式,不是数学排版规范(如 ISO 80000-2) - ⚠️ 屏幕阅读器靠
<var></var>区分变量/常量/函数,但若公式结构复杂(如分式、矩阵),单靠<var></var>无法传达完整语义
<var>r</var> 的那一刻,不是在“定义变量”,而是在告诉辅助技术“请把这个字符读作变量 r”。它不改变任何行为,只改变语义解释路径。










