专用于标记可验证的内容变更,必须配合法定格式的 datetime 属性,且常与 配对使用;误作强调或省略时间戳将导致语义失效。

<ins></ins> 不是用来“强调后期补充信息”的——它是语义化标记「文档修订中被插入的内容」,不是强调工具。用错场景,等于把变更日志写成高亮便签。
什么时候必须用 <ins></ins> 而不是 <strong></strong> 或 CSS 下划线
核心判断只有一条:这段文字是否属于一次可验证、需追溯的「内容变更」?
- 法律条款更新、合同增补、价格调整说明 → 必须用
<ins></ins>,且要配datetime - 促销文案里写“新增限时赠品” → 用
<strong></strong>或<mark></mark>更合适,<ins></ins>会误导机器认为这是修订动作 - 后台 CMS 自动生成版本对比页 →
<ins></ins>是唯一能让 diff 工具识别新增块的 HTML 元素
datetime 属性不是可选项,格式错就等于没写
浏览器不报错,但所有依赖时间戳的系统(屏幕阅读器、SEO 抓取、合规审计)都会跳过它。
- ❌ 错误写法:
datetime="2026-5-19"(缺前导零、无时分秒、无时区) - ❌ 错误写法:
datetime="2026/05/19 10:27"(非 ISO 8601,斜杠和空格非法) - ✅ 正确写法:
datetime="2026-05-19T10:27:00+08:00"或datetime="2026-05-19T02:27:00Z" - 建议由后端注入,或前端调用
new Date().toISOString(),避免本地时区偏差
<ins></ins> 和 <del></del> 必须逻辑配对,不能物理相邻就完事
单独一个 <ins></ins> 只表示“这里加了东西”,但无法回答“原来是什么”。语义解析器靠两者时间顺序和上下文推断修订意图。
- 电商价格变更正确结构:
<p>原价:<del datetime="2026-04-20T09:00:00+08:00">¥299</del> <ins datetime="2026-05-19T10:20:00+08:00">¥249</ins></p> -
<del></del>的datetime必须早于<ins></ins>的,否则逻辑矛盾 - 如果只是追加说明(如段末加“注:本条款自即日起生效”),可单用
<ins></ins>,无需硬凑<del></del> - 禁止嵌套:
<ins><del>旧文本</del>新文本</ins>违反 HTML5 规范,应拆成两个独立标签
CSS 样式可以改,但不能改掉它的行内本质
默认下划线太淡?可以增强,但别破坏语义流。
- 推荐微调:
ins { text-decoration: wavy underline; text-decoration-color: #2a75ff; background-color: #f0f8ff; } - 禁用
display: block或float——<ins></ins>是内联元素,强行块级化会打乱屏幕阅读器朗读顺序 - 别用
border-bottom替代text-decoration,可能切断连字(如 fi、fl)或影响行高 - 颜色+下划线必须同时存在,仅靠绿色文字不满足 WCAG 对比度要求
最难的部分从来不是写出合法 HTML,而是每次敲下 <ins></ins> 时,都清楚自己正在记录一次可验证的编辑动作——时间戳是谁填的?依据链接指向哪?删除部分是否真实存在?这些细节漏掉一个,<ins></ins> 就退化成带下划线的 <span></span>。










