html格式化标签的核心是语义正确性:用于重要性强调,仅作无语义加粗;/专表内容增删,非样式开关;嵌套保留格式与语义;所有标签需按语义使用,不可仅凭视觉效果判断。

HTML格式化标签不是“要不要用”的问题,而是“在哪用、为什么不能乱用”的问题——语义错误比样式难看更致命。
什么时候该用 <strong></strong> 而不是 <b></b>
当文本需要传达「重要性」或「语气加重」时,必须用 <strong></strong>。比如错误提示、操作警告、关键参数说明:<strong>密码至少8位,含大小写字母和数字</strong>。浏览器和读屏软件会识别其语义并给予语音强调或高对比度渲染。
<b></b> 仅用于“视觉加粗但无额外语义”的场景,例如产品名、关键词高亮(非强调)、或某些 UI 文本装饰。滥用 <b></b> 会让辅助技术用户错过重点。
- SEO 和可访问性工具依赖
<strong></strong>判断内容权重,<b></b>不参与语义分析 - CSS 中
font-weight: bold可完全替代<b></b>的视觉效果,但无法替代<strong></strong>的语义 - 在 Markdown 渲染器中,
**双星号**默认转为<strong></strong>,而非<b></b>
<ins></ins> 和 <del></del> 的真实使用边界
它们不是“下划线/删除线样式开关”,而是专门描述「编辑行为」的语义标签:<del></del> 表示已被移除的内容,<ins></ins> 表示新插入的内容。典型场景是价格变更、协议修订、代码 diff 展示。
错误用法:<del>原价¥299</del> <ins>限时¥199</ins> ✅;把 <del></del> 当作“划掉错别字”或“临时隐藏文字” ❌(应改用 CSS text-decoration: line-through 或 display: none)。
-
<del></del>和<ins></ins>支持datetime属性,可用于记录修改时间:<ins datetime="2026-09-28T14:30">新增条款</ins> - 与
<s></s>不同,<del></del>强调“内容被删”,<s></s>仅表示“不再准确/不推荐”,语义更弱 - 部分旧版 IE 对
datetime支持不佳,如需兼容,建议用 JS 补充处理
<pre class="brush:php;toolbar:false;"></pre> 标签里嵌 <code> 是标准写法,不是炫技
展示代码片段时,<pre class="brush:php;toolbar:false;"></pre> 负责保留缩进与换行,<code> 负责声明“这是计算机代码”。两者嵌套是 HTML5 推荐模式:<pre class="brush:php;toolbar:false;"><code class="js">console.log("hello");</code></pre>。单独用 <pre class="brush:php;toolbar:false;"></pre> 会丢失语义,单独用 <code> 会丢失格式。
-
<pre class="brush:php;toolbar:false;"></pre>默认使用等宽字体,但可通过 CSS 覆盖;<code>默认也是等宽,但无换行保护 - 若内容含用户输入(如表单值),务必对
<pre class="brush:php;toolbar:false;"></pre>内容做 HTML 实体转义,否则可能执行 XSS -
<pre class="brush:php;toolbar:false;"></pre>中的制表符\t在不同浏览器中宽度不一致,建议统一用空格缩进
最容易被忽略的是:所有格式化标签都默认内联显示,但它们的语义强度差异极大。一个 <em></em> 可能影响语音节奏,一个 <u></u> 在现代浏览器中甚至默认无样式——别靠肉眼判断是否生效,得看它在 DOM 树里代表什么。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











