必须包裹完整段落,每段需用显式包裹;cite属性仅接受合法url,不可填文本或片段;来源信息须在内部用手动声明;它仅用于可溯源的外部内容,非样式工具。

blockquote 必须包裹完整段落,不能裸放文本
直接写 <blockquote>第一段。第二段。</blockquote> 会导致语义断裂:屏幕阅读器可能连读成一句话,CSS 无法单独控制第二段的 margin-top,XHTML 或部分 CMS 校验会失败。
正确做法是每段用 <p></p> 显式包裹:
<blockquote cite="https://example.com"> <p>这是第一段引文。</p> <p>这是第二段,仍属于同一出处。</p> </blockquote>
- 引用中含列表、代码块或小标题时,可合法嵌套
<ol></ol>、<pre class="brush:php;toolbar:false;"></pre>、<h4></h4>等流内容元素 - 别用换行符
\n或连续空格模拟分段——浏览器会合并空白,无语义支撑 - 长引用里若含诗歌或代码缩进,改用
<pre class="brush:php;toolbar:false;"><code></code> 组合再套 <code><blockquote></blockquote></code></pre>
cite 属性只接受 URL,填错等于没写
cite 是机器可读属性,不渲染为可见文字,只供爬虫、SEO 工具和辅助技术解析。它必须是合法 URL,否则被忽略。
- ✅ 正确:
cite="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/blockquote" - ❌ 错误:
cite="《JavaScript 高级程序设计》第4版"(纯文本) - ❌ 错误:
cite="张三"或cite="#section2"(非 URL) - ⚠️ 风险:
cite="post.html"在静态站点易 404;优先用绝对 URL
不填 cite 不报错,但引用失去机器可读出处,SEO 权重归零,屏幕阅读器可能忽略其引用身份。
来源信息必须手动加 <footer><cite></cite></footer>,位置不能错
cite 属性本身不产生任何可见文字。想让用户看到“出自哪里”,必须在 <blockquote></blockquote> 内部末尾手动添加结构化 HTML。
- ✅ 推荐:
<footer>— <cite>《HTML Standard, W3C》</cite></footer>(<footer></footer>语义准确,<cite></cite>仅用于作品名) - ❌ 禁止:
<cite>张三</cite>直接作为<blockquote></blockquote>子元素(辅助技术误判为“引用内容里提到了张三”) - ❌ 禁止把
<cite></cite>放在<blockquote></blockquote>外面孤立使用(语义松散) - 人名、职位、时间等信息用普通文本或
<span></span>,不要塞进<cite></cite>
别用 blockquote 假装是样式工具
<blockquote></blockquote> 的唯一合法用途,是声明一段**来自外部、可溯源的独立成文内容**。它不是“加缩进”或“看起来像名言”的排版捷径。
- ✅ 该用:
<blockquote cite="https://doi.org/10.1000/xyz123">…论文结论…</blockquote> - ❌ 别用:
<blockquote>这是一句鸡汤</blockquote>(无来源、不可溯源) - 如果只是视觉上想像引用,又没明确出处,用带
aria-label的<div> 更合适 <li>多层缩进?那是 CSS 该干的事,别嵌套多个 <code><blockquote></blockquote>
最常被跳过的其实是 <footer></footer> 的位置和 <cite></cite> 的作用边界——它只包书名、文章名、URL 文本,不包作者名,也不包“摘自”这类说明词。











