标签仅用于语义化标记变量名或占位符,如数学公式中的b、命令行中的,不参与js运行、不绑定数据;误用会损害可访问性和语义解析。

<var></var> 标签不是用来“定义变量”或参与 JS 运行的,它只是语义化标记——告诉浏览器和辅助技术:“这段文本代表一个变量名或占位符”,比如数学公式里的 b、h,或命令行中的 <filename></filename>。
它不绑定数据,不触发脚本,也不影响 DOM 结构或样式逻辑。用错地方,反而会让可访问性(a11y)和语义解析出问题。
什么时候该用 <var></var>
只在明确表示「变量名本身」而非「变量值」时使用:
- 数学公式中出现的符号:如“面积 = ½ ×
<var>b</var>×<var>h</var>” - 文档中描述命令语法时的占位符:如“运行
cp <var>source</var> <var>destination</var>” - API 文档里参数名:
<var>timeout</var>(注意不是<var>5000</var>) - 不用于 JS 变量声明、不用于模板插值、不用于
v-bind或{{ }}中的标识符
<var></var> 和 <code>、<em></em> 的区别
三者视觉上都可能斜体,但语义完全不同:
-
<var></var>:纯语义,仅标示“这是个变量名/占位符”,默认样式是font-style: italic,但不应依赖它做强调 <code>:表示计算机代码文本,如函数名Math.sqrt()、路径/usr/bin/env、错误信息ReferenceError: x is not defined-
<em></em>:表示语气强调,属于内容逻辑,跟数学或编程无关;滥用会干扰屏幕阅读器对公式的理解
例如正确写法:<p>三角形面积为 <code>0.5 * b * h
<code>,变量名用 <var></var>。
常见误用与后果
这些写法看似省事,实则破坏语义准确性:
- 把实际值包进
<var></var>:如<var>128</var>(错),应直接写数字或用<code>表示字面量 - 嵌套
<var></var>在<code>里再套<var></var>:如<code>console.log(<var>msg</var>)—— 正确做法是<code>console.log(msg),因为msg是变量名,不是代码字符串的一部分 - 用
<var></var>替代 CSS 实现斜体效果:比如为了“好看”给单位加斜体,应写cm<sup>2</sup>+ CSS 控制,而不是<var>cm<sup>2</sup></var> - 在 SVG 或 MathML 公式中硬塞
<var></var>:它们已有原生变量支持(如<mi>b</mi>),混用反而导致解析异常
真正关键的不是“能不能显示成斜体”,而是“读屏软件能否准确播报‘这是变量 b’,而不是‘这是斜体字母 b’”。一旦混淆语义,公式就失去了结构可读性——这点在教育类、无障碍要求高的页面里特别容易被忽略。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











