和是HTML中唯二原生语义化编辑标记,专用于标识可追溯编辑意图的内容增删,需配合合法ISO 8601时间戳与有效cite链接,不可用于纯视觉强调或软删除。

<ins></ins> 和 <del></del> 是 HTML 中仅有的原生语义化编辑标记,不是装饰用的下划线或删除线——它们明确告诉浏览器、屏幕阅读器和搜索引擎:这里发生了内容增删,且通常与版本变更、校对修订相关。
什么时候该用 <ins></ins> 而不是 <span style="text-decoration:underline"></span>
当插入内容具有**可追溯的编辑意图**时才用 <ins></ins>。比如法律条文修订稿、协作文档的修改痕迹、CMS 后台的内容版本对比。它自带默认样式(虚线下划线),但更重要的是携带 datetime 和 cite 属性:
-
datetime必须是合法的 ISO 8601 时间(如"2024-05-20T14:30:00Z"),浏览器不校验格式,但辅助技术依赖它排序和朗读 -
cite指向修改依据(如会议纪要 URL),不是作者名,也不是任意字符串 - 纯视觉强调(如“重点推荐”)不该用
<ins></ins>,那属于样式范畴,用<strong></strong>或 CSS 更合适
<del></del> 的删除行为 ≠ 隐藏内容
<del></del> 不移除 DOM 节点,也不影响可访问性:屏幕阅读器仍会朗读被删文字(常加“已删除”提示),搜索引擎也索引它。这意味着:
- 不能靠
<del></del>实现“软删除”逻辑,后端仍需独立处理状态字段 - 若想隐藏已删内容(如敏感信息撤回),必须配合 CSS
display: none或 JS 移除节点,但此时已丢失语义 - 嵌套使用要谨慎:
<del><ins>新文本</ins></del>在语义上矛盾(既删又插),应改用<ins datetime="...">替代文本</ins>并保留原文在别处
浏览器兼容性与样式重置的现实问题
所有现代浏览器都支持 <ins></ins>/<del></del>,但默认样式差异大:
立即学习“前端免费学习笔记(深入)”;
- Chrome/Firefox 对
<ins></ins>渲染为绿色虚线下划线,<del></del>是红色实线删除线;Safari 则可能用灰色或无颜色 - 部分旧版 IE 不识别
datetime,但不影响渲染 - 若项目要求统一视觉,建议显式重置:
ins { text-decoration: underline wavy #2e7d32; }
del { text-decoration: line-through #d32f2f; }
ins, del { font-weight: normal; }
注意:不要只改颜色而忽略 text-decoration 类型,否则语义线索弱化(比如用实线下划线代替虚线,会与普通链接混淆)。
真正难的不是怎么写这两个标签,而是判断“这算不算一次值得记录的编辑”。时间戳填错、cite 指向 404 页面、把运营文案更新当成法律修订来标——这些比语法错误更损害语义价值。



















