cite元素仅用于包裹可被isbn、doi等唯一识别的独立作品标题,如书名、电影名,不得包含作者、年份等元数据,且必须置于引用上下文中。

cite标签只包书名、电影名这类独立可检索标题
它不是“引用标记”,而是“作品名称容器”。判断标准很直接:这段文字是不是能被图书馆目录、ISBN 或 DOI 唯一识别的正式名称?cite 里只能放标题本身,不能掺作者、年份、出版社、URL 或括号里的补充说明。
- ✅ 正确:
<cite>百年孤独</cite>、<cite>The Structure of Scientific Revolutions</cite> - ❌ 错误:
<cite>加西亚·马尔克斯</cite>(作者)、<cite>https://example.com/book</cite>(URL)、<cite>《百年孤独》(译林出版社,2020)</cite>(含元数据) - 中文书名用全角书名号《》是排版习惯,但
cite元素内不强制要求——语义只认内容是否为作品标题,不认标点
cite必须出现在引用上下文中,不能孤立存在
单独写<cite>设计模式</cite>没有语义价值。浏览器和读屏器需要上下文来确认这是“被引用的作品”,而不是随便一个斜体词。
- ✅ 正确场景:
<p>正如<cite>设计模式</cite>所指出的…</p>、嵌在<blockquote></blockquote>或<q></q>中 - ❌ 错误用法:把
cite放在<div>或<code><span></span>里空转,或作为参考文献列表的每一项外层标签 -
<footer></footer>里用cite是常见且合理的,前提是它属于某段明确引用(比如<blockquote></blockquote>的出处说明) - ✅ 正确:
<blockquote cite="https://example.com/article"> <p>…</p> <footer>— <cite>重构</cite></footer> </blockquote> - ❌ 错误:
<p cite="作者简介">…</p>(cite属性不能用在p上)、<blockquote cite="重构"></blockquote>(属性值不是 URL) -
cite属性对<div>或<code><p></p>无效,浏览器会忽略,辅助技术也读不到样式与无障碍需手动保障
浏览器默认给
cite加斜体,但这只是历史惯例,不是语义必需。现代项目中常重置为正常字体,靠上下文或 class 区分;但若去掉所有视觉提示,又可能影响可辨识性。- 中文建议通过 CSS 显式设置
font-style: normal,避免斜体在中文字体下显得突兀或不可读 - 不要依赖
i或em替代cite——它们没有作品标题的语义,屏幕阅读器不会特别标注 - 如果引用来源需要链接,用
@#@#@#@#@#@#@#@#@#@0,而不是把 URL 塞进cite里
cite,而是判断哪一段文字算“作品标题”、哪一段只是普通名词。比如“React 官方文档”不算作品标题,“Thinking in React”才算——后者有明确作者、出版渠道和可检索标识。这种边界感,得靠实际查 ISBN 或 DOI 来校验,不能凭感觉。 - 中文建议通过 CSS 显式设置
cite和blockquote的cite属性完全无关
这是最容易混淆的点。cite是元素,内容是人类可读的标题;cite属性是<blockquote></blockquote>、<q></q>等元素上的 HTML 属性,值必须是真实可访问的 URI。











