化学方程式中必须按语义选用sub或sup:原子个数(如h₂的2)用,电荷(如ca²⁺)、氧化态(如feᴵᴵᴵ)、同位素质量数(如¹⁴c)用;混用或省略会导致屏幕阅读器误读、数据库解析失败。

化学方程式里该用 sub 还是 sup,不是看“位置高低”,而是看语义:原子个数必须用 sub,电荷、氧化态、同位素质量数必须用 sup。混用或省略标签,会导致屏幕阅读器误读、学术数据库解析失败,甚至让 CO₂ 变成 C O₂。
哪些数字必须套 sub?只限原子个数
化学式中右下角的数字,表示某元素在分子中的原子个数,这是 sub 的唯一合法场景:
- H
sub2O 中的2是氢原子个数,必须<sub>2</sub> - Ca(OH)
sub2 中的2表示两个 OH 基团,括号不能进sub标签,否则变成 Casub(OH)2 —— 括号也被缩小下移,语义和渲染全错 - C
sub6Hsub12Osub6:每个下标独立包裹,不可合并为 Csub6H12O6,因为12专属 H,不是整个字符串的下标 - 反应式系数(如
2Hsub2 + Osub2)不是下标,2是计量数,不加sub
哪些内容必须用 sup?电荷、氧化态、质量数
sup 不是“小一号字”,它只承载三类明确语义:
- 离子电荷:SO
sub4sup2−,其中2−必须整体在<sup></sup>内;减号必须是 Unicode U+2212(−),不是 ASCII 连字符(-) - 氧化态:Fe
supIIIClsub3,罗马数字是上标,不是变量名,不可写成<sup>Fe</sup><sub>III</sub> - 同位素质量数:
sup14C,质量数在左上角,紧贴元素符号,不能写成 Csup14 - 错误用法:CO
sup23 —— 这既不是 CO₂ 也不是 CO₃²⁻,纯属语义混乱;©sup2025 年份不是上标,应直接写 © 2025
sub 和 sup 能不能嵌套?顺序比层级更重要
HTML 允许 sub 和 sup 相邻,但禁止交叉嵌套,且书写顺序直接影响渲染位置:
- 正确:SO
sub4sup2− —— 先下标再上标,浏览器渲染为 SO₄²⁻ - 错误:
subSOsub4sup2− —— 外层sub把整个 SO₄²⁻ 当作下标,完全违背化学含义 - 错误:
sup2sup− —— 拆开写会引入空隙,应写成<sup>2−</sup> - 复合上标如 a
supn+1,运算符必须保留在sup内,不可拆成 asupn+1
上下标没显示?先查这三处,别急着加 CSS
90% 的“上下标失效”问题跟浏览器兼容性无关,而是被外部规则静默覆盖:
- 全局 CSS 重置了
vertical-align:比如 Normalize.css 或 antd 默认设sup, sub { vertical-align: baseline; },直接废掉原生行为 - 父容器设置了
line-height: 1或font-size: 0:导致sub/sup缩放比例失效,文字被压扁或消失 - 富文本编辑器或 CMS 开启 XSS 过滤但未白名单
<sub></sub>/<sup></sup>:保存后标签被删,只剩裸数字 - 不建议手动加
style="vertical-align: super"—— 多此一举,还可能和行高冲突;真要微调,用sup { margin-bottom: -0.15em; }更稳
最容易被忽略的是:一个 sub 标签漏掉,就可能让 “PO₄³⁻” 解析成 “PO43−”,在自动化导入学术数据库时直接报错——这不是排版问题,是结构信息丢失。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











