表示内容重要性,仅表视觉加粗;前者影响读屏器、SEO和无障碍,后者无语义权重。

直接学语义,别先记样式——<strong> 不是加粗,<em> 不是斜体,它们表达的是内容重要性与语气强调,浏览器默认渲染只是附带效果。
为什么 <b> 和 <strong> 不能混用
两者视觉上常一样,但机器(如屏幕阅读器、搜索引擎)处理逻辑完全不同:<b> 仅表示“要突出显示”,不带权重;<strong> 则明确传递“这段内容关键,需加强传达”。实际项目中,SEO 优化、无障碍访问(a11y)都依赖这个区分。
- 写价格标签时用
<b>:比如<b>¥199</b>—— 纯视觉强调,无语义加重 - 写警告信息时用
<strong>:比如<p>请务必确认 <strong>邮箱地址正确无误</strong></p>—— 机器会提高语音语调或加权索引 - 嵌套时注意层级:
<strong><em>紧急修改</em></strong>合法,但<em><strong>...在旧版 JAWS 中可能被忽略
<time> 标签不是摆设,得填对 datetime
只写 <time>2026-09-29</time> 是无效的——它没有机器可读的时间戳,<time> 的价值全在 datetime 属性。不填或格式错,等于没用。
将调研报告、方案对比、数据分析、需求梳理、会议纪要、设计说明、代码评审、学习笔记等任务产物输出为可在浏览器直接打开的单文件 HTML,替代 Markdown 作为最终交付物。Markdown 在信息密度、视觉清晰度和可分享性上已跟不上 AI 产物的丰富度,HTML 能同时承载排版、表格、SVG 等。
- 正确写法:
<time datetime="2026-09-29T13:06">今天</time>(ISO 8601 格式,含时分) - 日期+时间必须用
T分隔,不能空格;时区建议显式写出,如+08:00 - 纯日期可省略时间部分:
datetime="2026-09-29",但不要写成"2026/09/29"或"29-09-2026" - 配合 JavaScript 使用时,
new Date(document.querySelector('time').dateTime)才能可靠解析
<code>、<pre>、<samp> 各司何职
这三个都跟代码有关,但语义不可互换:<code> 是最小粒度的“一段代码”,<pre> 是保留格式的“代码块容器”,<samp> 是“程序输出结果”。混用会导致语义污染,影响自动化工具提取。
立即学习“前端免费学习笔记(深入)”;
- 单行函数名、变量名用
<code>fetchData</code>,不要套<pre> - 多行 JS 片段必须包在
<pre><code>...</code></pre>里,否则缩进和换行丢失 - 命令行输出用
<samp>npm install --save react</samp>,不是<code> - CSS 中
white-space: pre-wrap配合<pre>才能真正保留换行和空格,仅靠<code>不行
真正难的不是记住标签名,而是每次敲下 < 时,先问一句:“我想让机器怎么理解这句话?”——语义一旦写错,后期靠 CSS 或 JS 弥补,成本远高于初期选对标签。


















