标签内直接嵌套完全合法,因属内联级“短语内容”,天然适配内容模型;典型用途是标记段落中被删改的局部文本,如价格、条款等,需闭合且不可包裹块级元素。

<p></p> 标签里直接嵌套 <del></del> 是完全合法且最常用的写法,不需要额外处理——只要 <del></del> 是内联级内容,就天然适配 <p></p> 的内容模型。
为什么 <p></p> 里能放心用 <del></del>
<del></del> 属于“短语内容”(phrasing content),和 <span></span>、<em></em>、<strong></strong> 同类,而 <p></p> 的允许子元素类型明确包含这类内联标签。浏览器解析时不会报错,也不会破坏段落结构。
常见误判是以为 <del></del> 像 <div> 那样属于块级,其实它默认 display 是 <code>inline,和文字流自然融合。
<del></del> 在 <p></p> 中的典型用法
用于标记段落中被删改的局部文本,比如价格、条款、时间等可比对信息:
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
立即学习“前端免费学习笔记(深入)”;
<p>本次活动限时优惠:原价 <del datetime="2026-10-01T14:00:00Z">¥299</del>,现仅售 ¥199。</p>
- 必须闭合:
<del>xxx</del>,不能写成<del></del>或漏掉结束标签 - 避免包裹块级元素:
<del><ul><li>...</li></ul></del>是非法的,会触发 HTML 解析警告 - 可安全添加
cite和datetime属性,增强语义和可访问性
容易踩的坑:嵌套与样式冲突
虽然语法上允许,但以下写法会出问题:
-
<p><del><del>重复删除</del></del></p>:嵌套<del></del>会导致读屏器重复播报“已删除”,部分浏览器渲染异常 -
<p><del><s>混用旧标签</s></del></p>:语义冲突,<s></s>表示“内容过时”,<del></del>表示“已被删除”,二者目的不同,不应嵌套 - CSS 强制修改
display:如果给<del></del>设了display: block,它会脱离行内流,可能撑开段落行高或导致换行异常
复杂点其实在语义而非语法
真正要注意的不是“能不能嵌”,而是“该不该删”——<del></del> 不是装饰性删除线,它代表内容已被移除但仍需留痕。如果你只是想视觉上加条横线,而无版本/修订/可访问性需求,那该用 CSS 的 text-decoration: line-through,而不是 <del></del>。


















