是语义标签,专用于版权、免责声明等附属细则类文本,非单纯缩小字体;滥用会损害可访问性、seo及语义结构,视觉缩放应优先用css。

<strong></strong> 和 <em></em> 不是“加粗”和“斜体”的快捷方式,而是语义标签——用错会直接影响可访问性、SEO 和屏幕阅读器行为。
为什么不能用 <b></b> 和 <i></i> 替代 <strong></strong> 与 <em></em>
浏览器默认样式确实让 <b></b> 看起来像加粗、<i></i> 像斜体,但它们的语义完全不同:
-
<strong></strong>表示内容有强重要性(如警告、关键条款),屏幕阅读器会加重语气朗读 -
<em></em>表示强调语气(如反讽、重点重读),朗读时会改变语调 -
<b></b>仅表示“视觉上突出”,无语义强度,比如产品名、关键词、翻译中的外文词 -
<i></i>表示“非文本惯例的替代表达”,比如船名、拉丁学名、术语、外语短语
搜索引擎和辅助技术依赖这些语义。把“用户协议中免责条款”写成 <b>概不负责</b>,等于告诉机器:“这不重要”。
<small></small> 不是字号控制工具,而是语义化的“附属信息”
很多人用 <small></small> 给版权、免责声明或页脚文字“调小字号”,但它真正的含义是:次要、附属、法律相关或旁注类内容。
- 它不等价于
font-size: 0.8em;CSS 可以覆盖默认大小,但语义保留 - 在 HTML5 中,
<small></small>明确用于“版权、免责声明、法律文本、注释等” - 如果只是想缩小一段说明文字(比如表单提示),用
<span></span>+ CSS 更准确 - 滥用
<small></small>可能被屏幕阅读器降权处理,甚至跳过朗读
<mark></mark> 和 <u></u> 的现代用法已大幅收窄
这两个标签过去常被当作样式“捷径”,但现在规范已严格限定其语义边界:
-
<mark></mark>仅用于上下文中的高亮引用,比如搜索结果中匹配的关键词、文章中需要引起注意的特定短语(非全文强调) -
<u></u>在 HTML5 中不再表示“下划线样式”,而是拼写错误、专有名词、中文拼音标注等非标准文本现象;直接用它做链接下划线是反模式 - 真正要做下划线装饰?用
text-decoration: underline;要标错别字?配合spellingARIA 属性或<u></u>+class="misspelled" - 浏览器对
<u></u>的默认下划线样式正在弱化(Chrome 120+ 已改为浅色虚线),靠它做 UI 是不可靠的
段落与换行:别再用 <br> 模拟段落间距
<p></p> 和 <br> 解决的是两类问题,混用会导致结构混乱:
-
<p></p>是语义化段落容器,自带 margin、可设置样式、支持 aria-label、对 SEO 和爬虫友好 -
<br>是纯排版断行指令,无语义,不能嵌套,也不该用来分隔逻辑段落 - 常见错误:用多个
<br>模拟空行分隔——这会让屏幕阅读器连续读出“换行、换行、换行”,破坏节奏 - 正确做法:段落之间用
<p></p>,同一段内需强制折行(如地址、诗行)才用<br> - 若想控制段落间距,改 CSS 的
margin,而不是删<p></p>改用<br>
最易被忽略的一点:HTML 解析器会自动合并连续空白符(包括换行和制表符),所以源码里写十行空格,渲染出来还是一个空格——别指望靠回车缩进来控制排版。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











