标签仅语义化标记变量名本身,如公式中的“n”、API路径中的“id”,不参与JS解析或值绑定;应配合使用但不嵌套,默认斜体且现代浏览器支持良好。

<var></var> 标签不是用来“表示变量值”或“声明变量”的,它只负责语义化标记「变量名本身」——比如公式里的 a、函数参数名 callback、环境配置项 DATABASE_URL。浏览器不会解析它的内容为数据,JS 也读不到它的“值”。
<var></var> 该用在哪儿
- 数学说明中强调符号含义:如“设
<var>n</var>为样本数量”,n是名字,不是数字 - API 文档里标出可替换的占位符:如
POST /api/users/<var>id</var> - 代码描述中指代参数/变量名:如“调用
fetch(<var>url</var>)”,url是形参名,不是字符串字面量 - 配置说明中突出变量标识:如 “将
<var>API_KEY</var>写入 .env 文件”
不要用在:
- 想让 JS 读取或绑定值:写了
<var id="count">x</var>,document.getElementById('count').textContent只返回字符串"x",不是变量 - 替代
<code>包裹实际代码:如<var>let x = 42</var>是错的,应放进<code>或<pre class="brush:php;toolbar:false;"></code></li><li>表单控件属性里当动态值用:<code><input name="<var>user_id</var>"></code> 中的 <code><var></code> 不会被展开,name 属性值就是字面量 <code>"<var>user_id</var>"</code></li></ul><h3><code><var></code> 和 <code><code></code> 怎么配合</h3><p><code><var></code> 表示“这是个变量名”,<code><code></code> 表示“这是段可引用的代码文本”。二者语义不同,但常一起出现:</p><ul><li>✅ 正确:描述调用方式时 — <code>fetch(<code><var>url</var></code>)</code></li><li>❌ 错误嵌套:把 <code><var></code> 套进 <code><code></code> 里再标变量名 — <code><code><var>url</var></code></code> 是冗余的,<code><var></code> 已含语义,<code><code></code> 应包裹完整可执行片段(如 <code><code>fetch(url)</code></code>)</li></ul><p>更自然的组合是:</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/cb6835dc7db1" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">前端免费学习笔记(深入)</a>”;</p><div class="aritcle_card flexRow"> <div class="artcardd flexRow"> <a class="aritcle_card_img" href="/xiazai/skill10828" title="财经HTML高端海报生成"><img src="https://img.php.cn/upload/skill/001/246/273/6adaf20dbae7c507.jpg" alt="财经HTML高端海报生成" ></a> <div class="aritcle_card_info flexColumn"> <a href="/xiazai/skill10828" title="财经HTML高端海报生成">财经HTML高端海报生成</a> <p>复杂得财经如何变成清晰,适合手机看的海报?如何加上你的IP</p> </div> <a href="/xiazai/skill10828" title="财经HTML高端海报生成" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div><ul><li>公式说明:<code>面积 = <var>length</var> × <var>width</var></code></li><li>代码上下文:<code>请传入 <var>timeout</var> 参数,单位毫秒</code></li><li>终端命令:<code>curl -H "Authorization: Bearer <var>token</var>" <var>api_url</var></code></li></ul><h3>默认样式和兼容性要注意什么</h3><p><code><var></code> 默认渲染为斜体(<code>font-style: italic</code>),但这只是浏览器 UA 样式,不是强制行为:</p><ul><li>若项目全局禁用斜体(如重置 CSS 中写了 <code><em>, </em>::before, *::after { font-style: normal; }</code>),<code><var></code> 也会变正体,语义丢失而不自知</li><li>老旧 IE(≤8)不识别 <code><var></code>,会当作未知 inline 标签处理,无样式、无语义,屏幕阅读器也不特殊播报</li><li>现代浏览器(Chrome/Firefox/Safari/Edge)均支持,无障碍支持良好(多数屏幕阅读器读作 “variable x”)</li></ul><p>建议显式控制样式以防意外:</p><pre class="brush:php;toolbar:false;">var { font-style: italic; color: #2c3e50; }</pre><p>下划线变量名(如 <code>_var)要特别小心:在 MathML 或 KaTeX 中裸写<var>_var</var>会被当成下标语法报错,需转义为_var或改用数学排版方案。真正需要动态变量行为的地方,别碰
<var></var>—— 用data-属性 + JS 渲染,或服务端模板语法,或 Web Components 的<slot></slot>。它就干一件事:告诉人和机器,“这段文字代表一个可变的符号名”,仅此而已。


















