导读:本期聚焦于王柏年创作的《HTML删除线怎么实现?删除线标签如何标注修改或过期内容》,敬请观看详情。想在网页里给文字加删除线,标注修改或过期内容,最常用的方式是使用del标签和s标签。本文详细讲解两种标签的语义区别和使用场景,说明del配合ins标签展示文档修改记录的做法,同时介绍CSS中text-decoration属性的line-through值实现删除线效果的方法,还涵盖删除线的颜色定制、日期属性cite和datetime的用法,以及误用删除线标签带来的语义问题,帮助你在实际开发中正确选择合适的方案。

在HTML里实现删除线效果主要有两种方式:一种是使用语义化标签<del><s>,另一种是通过CSS的text-decoration属性设置line-through值。这三种方法在浏览器中呈现的视觉效果几乎一样,都是文字中间多了一条横线,但它们背后的语义完全不同,使用的场景也有明显区别。选对了标签,不仅页面好看,搜索引擎和屏幕阅读器也能正确理解你的内容。

HTML删除线怎么实现?删除线标签如何标注修改或过期内容

简单来说,如果你想表达某段内容已经被删除、被修改,属于文档修订的范畴,就应该用<del>标签;如果只是想表达内容不再准确、不再相关,比如过期价格、失效信息,用<s>标签更合适;而纯粹为了视觉上加一条横线,不带有任何语义,那就直接用CSS样式来实现。

del标签:标注被删除或被修改的内容

<del>标签是HTML规范中明确定义为"已从文档中删除的内容"的语义标签。它最典型的应用场景是商品价格调整、文章内容修订、合同条款变更等需要展示修改痕迹的地方。浏览器默认会把<del>包裹的文字渲染成删除线样式,但更重要的是,它向机器传递了明确的语义信息:这段文字虽然还在页面上,但已经不算数了。

<del>标签有两个常用的可选属性。第一个是cite属性,值为一个URL,指向解释删除原因的文档;第二个是datetime属性,用合法的日期格式记录删除发生的时间。这两个属性不会在页面上直接显示,但可以被搜索引擎、爬虫或自动化工具读取,用于追溯内容变更历史。

<p>
  原价:<del datetime="2024-06-01T10:00:00">¥299</del>
  现价:<ins>¥199</ins>
</p>

上面这个例子是电商页面中非常经典的做法:用<del>划掉原价,再用<ins>标签标注新价格。<ins>是与<del>配套的插入标签,默认渲染为下划线样式,表示"新添加的内容"。两者搭配使用,可以完整地表达一次内容修订,这也正是HTML规范设计这对标签的初衷。需要注意的是,<del><ins>既可以包裹行内文字,也可以作为块级容器使用,当它们包含多个块级元素时,浏览器也能正确处理。

s标签:标注不再准确或已经过期的内容

<s>标签的全称是strikethrough,它表示的内容是"不再正确或不再相关",但和<del>有本质区别:<s>不代表文档被编辑修改过,只是陈述一个事实,这段内容现在没意义了。举几个典型场景:活动结束后的原价展示、已经过期的优惠券说明、不再适用的旧政策条款。这些内容并没有被"删除",只是"过期"了。

很多人分不清<s><del>,其实判断标准很简单:问自己一个问题——这段文字的删除线是否代表一次"编辑行为"?如果是编辑行为,比如作者改了稿子、商家调了价格,用<del>;如果只是内容本身失效了,页面并没有被编辑,用<s>。举个例子,促销页面写着"原价599,现价299",这里599并没有被删掉重写,它本来就一直是599,只是相对现价失去了意义,所以用<s>更贴切。

<p>
  <s>限时优惠:全场五折(活动已结束)</s>
</p>
<p>本次活动的优惠时段为6月1日至6月3日,目前已恢复原价。</p>

还要特别提醒一点:HTML5已经明确废弃了<strike>标签和<s>的旧用法。在HTML4时代,<strike>和早期的<s>都只是纯视觉的删除线,没有任何语义。HTML5重新定义了<s>的语义,而<strike>则彻底淘汰。虽然老浏览器仍然支持<strike>的渲染,但在新项目中绝对不要再使用它,否则通不过HTML5校验,也不利于页面的语义化建设。

用CSS实现删除线:text-decoration属性详解

如果只是想要删除线的视觉效果,不关心语义,那么CSS是更灵活的方案。核心属性是text-decoration,设置为line-through即可。这个方案最大的优势是可以和其他样式自由组合,随意控制颜色、粗细、位置,这是原生标签做不到的。

.strike {
  text-decoration: line-through;
}

/* 自定义删除线颜色为红色,文字保持黑色 */
.price-old {
  text-decoration: line-through red;
  text-decoration-thickness: 2px;
}

现代CSS还提供了几个细粒度属性:text-decoration-color控制线条颜色,text-decoration-thickness控制线条粗细,text-decoration-style可以设置实线、波浪线、虚线等样式。比如给过期内容加一条红色波浪删除线,视觉冲击力会比默认样式强很多,在审核类、批注类产品中很实用。这些属性目前主流浏览器都已有良好支持,但个别老版本浏览器可能需要加前缀,实际项目中建议做一下兼容测试。

还有一个实用技巧:当你用<del><s>标签实现了语义,但不喜欢浏览器默认的删除线样式时,完全可以保留标签、只用CSS覆盖样式。语义归语义,视觉归视觉,两者并不冲突。比如保持<del>的语义不变,但把线条颜色改成浅灰色、降低透明度,让被删除的内容看起来更"弱化",这样的处理在价格对比场景中体验更好。

del {
  text-decoration: line-through;
  text-decoration-color: #bbb;
  color: #999;
}

实际开发中的选择建议与常见误区

选型上可以遵循一个简单的决策路径:内容代表一次修订记录,用<del>,需要的话配合<ins>;内容只是过期失效,用<s>;两者都不是,纯粹为了划掉某个词的视觉效果,用CSS的text-decoration: line-through。坚持这个原则,你的页面语义就是清晰的,对SEO和无障碍访问都有帮助。屏幕阅读器对<del>通常会有特殊处理,能提示用户这段内容已被删除。

常见的误区有两个。第一个是滥用删除线做装饰,比如把整段重要说明划掉再在旁边写小字,这种做法会让屏幕阅读器用户完全错过关键信息,搜索引擎也可能判定内容质量低。第二个误区是用删除线标签去实现分隔线或装饰线的效果,应该改用border、伪元素或者<hr>等更合适的方案。删除线标签的意义在于表达"此内容作废",一旦偏离这个语义,就不要用标签,用CSS就好。

最后补充一个无障碍方面的细节:部分屏幕阅读器对<s>标签没有明显的语音提示,如果你的过期信息对用户决策很关键,建议在视觉删除线之外,额外加上文字说明,比如"已过期"、"已失效"等明确的文本标注,这样所有用户都能准确获取信息,不会因为只看到一条横线而误解页面内容。

HTML删除线del标签s标签修改时间:2026-09-13 00:35:26

免责声明:已尽一切努力确保本网站所含信息的准确性。网站作品多为原创整理与精心创作,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们进行处理Email:chomcom@qq.com。
引用或转载本作品时,请注明当前出处:https://www.ipipp.com/html/20260913/55653.html,基于非商业用途的前提下,欢迎转载或二创本作品。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。