是声明外部来源的语义标签,必须配 cite 属性(有效 URL)和 人类可读出处;仅缩进或引用自有内容属误用,会破坏无障碍、SEO 与数据提取。

blockquote 不是缩进工具,而是来源声明标签
blockquote 的核心语义不是“让文字看起来像引用”,而是“这段内容来自外部独立成文来源,且我愿意公开标注出处”。它不提供视觉样式保障,也不替代 <q></q> 处理短句嵌入。误用它(比如仅为了缩进强调一段自己写的提示)会破坏文档结构,导致屏幕阅读器跳过语义、SEO 无法识别引用关系、未来数据提取失效。
- ✅ 正确场景:摘录 MDN 上关于
fetch()的说明段落,cite指向对应 URL - ✅ 正确场景:转载某开源项目 LICENSE 文件中的条款原文,
cite指向 GitHub raw 链接 - ❌ 错误场景:把“温馨提示:请勿重复提交”套上
<blockquote></blockquote>—— 这是原创内容,无外部来源 - ❌ 错误场景:引用自己上周发布的博客文章,且未明确标注为转载 —— 同一域名下自有内容不构成“另一源”
cite 属性必须填有效 URL,否则语义断裂
cite 是 blockquote 唯一标准属性,它的值**必须是可访问的绝对或相对 URL**,浏览器不渲染它,但爬虫、RSS 阅读器、辅助技术依赖它验证引用真实性。填错格式等于没填。
- ✅ 正确:
cite="https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/blockquote" - ✅ 可接受:
cite="/docs/api-reference#fetch"(相对路径,前提是页面能解析为完整 URL) - ❌ 错误:
cite="《HTML 标准》第 4.5 节"(纯文本,机器不可读) - ❌ 错误:
cite="作者:张三"(非 URL,校验器报 warning,SEO 无效) - ❌ 错误:
cite=""或缺失cite—— 此时blockquote退化为无来源的装饰块
多段引用必须用
包裹,不能裸放文本
虽然 HTML5 允许 <blockquote>纯文本</blockquote>,但实际开发中必须避免。裸文本会导致段落边界丢失、CSS 控制失效、XHTML 验证失败、屏幕阅读器连读整块内容。
- ✅ 正确结构:
<blockquote cite="..."> <p>第一段。</p><div class="aritcle_card flexRow artxards"> <div class="artcardd flexRow"> <a class="aritcle_card_img" rel="nofollow" href="/xiazai/skill9263" title="Html2md"><img src="https://img.php.cn/upload/skill/000/000/081/179249945220127.jpg" alt="Html2md" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a> <div class="aritcle_card_info flexColumn"> <a rel="nofollow" href="/xiazai/skill9263" title="Html2md" class="overflowclass">Html2md</a> <p class="overflowclass">使用 Readability + Turndown 将 HTML 页面转换为干净的、Agent 友好的 Markdown。去除导航栏、广告、页脚、Cookie 横幅、社交按钮等干扰元素。支持 URL...</p> </div> <a rel="nofollow" href="/xiazai/skill9263" title="Html2md" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a> </div> </div> <p>第二段。</p> </blockquote> - ✅ 允许嵌套其他流内容:
<pre class="brush:php;toolbar:false;"></pre>、<ol></ol>、<h3></h3>(只要它们属于流内容模型) - ❌ 错误写法:
<blockquote>第一段。\n第二段。</blockquote>(换行符 ≠ 段落语义) - ⚠️ 注意:
<footer></footer>必须作为blockquote的直接子元素,且放在末尾;不能包在<p></p>里,也不能放在外面
用户可见的出处必须手动加
cite 属性本身完全不显示,想让用户看到“出自哪里”,必须显式添加人类可读的来源信息。<footer></footer> + <cite></cite> 是 HTML5 推荐的语义闭环组合,<cite></cite> 专用于作品标题、书名、文章名等,不是人名或描述性文字。
- ✅ 正确:
<footer>— <cite>HTML Standard, W3C</cite></footer> - ✅ 可扩展:
<footer>摘自 <cite>《JavaScript 高级程序设计》第4版</cite>,p.127</footer> - ❌ 错误:
<small>来源:MDN</small>(<small></small>无语义,辅助技术不识别) - ❌ 错误:
<cite>Nicholas C. Zakas</cite>(人名不该用<cite></cite>,应为普通文本) - ⚠️ 深色模式下注意:
<footer></footer>文字颜色需适配背景,否则灰暗不可读
真正容易被忽略的是:很多人花时间调 blockquote 的边框和缩进,却漏掉 cite 属性或 <footer></footer> 结构 —— 这会让整个引用在语义层面上“不存在”。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










