html中和用于语义化标记已删除和新插入的内容,需成对使用、支持datetime属性,不可用于样式装饰或非修订场景。

HTML 中用 <del></del> 和 <ins></ins> 标签表示文本修改,核心是传递「内容被删掉」和「内容被加入」的语义,不是单纯画线。
del 标签:标记已删除的内容
<del></del> 表示某段文字已被移除,浏览器默认渲染为删除线(strikethrough)。它支持 datetime 属性,可记录删除时间,便于协作或审计:
- 正确用法示例:
<p>原价<del datetime="2026-09-01">¥199</del>,现价¥149。</p> - 不要用
<del></del>做样式装饰,比如错误提示、禁用按钮文案——这些不是内容删除,语义错位会影响屏幕阅读器和 SEO。 - 与
<s></s>的区别:<s></s>表示“不再准确但未被替换”(如过期信息),不强调时间性,也不支持datetime。
ins 标签:标记新插入的内容
<ins></ins> 表示新增文本,浏览器通常加下划线显示。同样推荐使用 datetime 注明插入时间:
- 正确用法示例:
<p>会议时间由<del datetime="2026-08-28">周三下午</del><ins datetime="2026-09-03">周四上午</ins>调整。</p> - 避免把
<ins></ins>当作通用下划线工具。比如在价格旁加“新品”标签,应改用<span class="badge"></span>+ CSS,而非滥用<ins></ins>。 - 与
<u></u>的区别:<u></u>在 HTML5 中语义是“非文本注释”,如拼写错误、专有名词标注,不是内容增补。
组合使用才体现修改逻辑
单独用 <del></del> 或 <ins></ins> 只是单向操作;成对出现才能表达一次完整修订:
- 必须保持上下文连贯,例如不能只删不加,或只加不删——否则语义断裂,辅助技术难以理解意图。
- 时间戳建议统一格式:
YYYY-MM-DD或完整 ISO 8601(如2026-09-05T12:30:00),方便机器解析。 - 若需视觉强化(如颜色、背景),通过 CSS 作用于
del和ins,不破坏语义:del { color: #666; text-decoration-color: #ccc; }<br>ins { color: #28a745; text-decoration-color: #28a745; }
哪些情况不该用它们
以下常见场景看似像“修改”,实则不符合 <del></del>/<ins></ins> 的语义定位:
- 表单验证失败时标红错误文案——该用
<span aria-live="polite"></span>+ 状态类,不是<del></del>。 - 代码块中高亮某行新功能说明——属于注释,用
<!-- -->或<small></small>更合适。 - 营销文案里“划掉原价、标出折扣价”——这是价格对比,不是内容修订,推荐用
<span class="original-price"></span>+ CSS 删除线,语义更干净。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











