address仅用于标记文档或article的作者/维护者联系信息,必须作为body或sectioning元素的直接子元素,且只允许包含可交互的联系内容如邮箱、电话等。

address 不是用来放作者名、版权年份或公司地址的,它只负责一件事:标记当前文档或当前 article 的作者/维护者的联系信息。用错地方,语义就崩了,辅助技术、SEO 和未来维护都会踩坑。
什么时候该用 address?
只有两种合法上下文:
- 直接作为
<body>的子元素,表示整个页面的联系人(比如官网首页底部的“技术支持邮箱”) - 作为
<article>或<section>的子元素,表示这篇文章的作者/维护者(比如博客正文末尾的“作者:张三|邮箱:zhang@example.com”)
注意:address 不能嵌套在 <div>、<p> 或其他非语义容器里——它必须是“最近的节元素”(sectioning element)的直系子元素。
address 里能写什么内容?
只允许内联内容(inline-level),且必须和“联系”强相关:
立即学习“前端免费学习笔记(深入)”;
- 姓名(如
<a href="mailto:...">李四</a>) - 邮箱链接(
<a href="mailto:...">contact@site.com</a>) - 电话(
<a href="tel:+86138...">+86 138-xxxx-xxxx</a>) - 物理地址(仅当它是联系渠道的一部分,比如“来信请寄:北京市朝阳区xxx”)
- 社交媒体链接(如 GitHub、Twitter 主页,前提是它们是作者的公开联络入口)
禁止出现:<h2>、<p>、<ul>、<time>、版权符号 ©、发布日期、访问统计、无关广告链接。
常见错误和浏览器表现
这些写法看似正常,但实际违反 HTML5 语义:
- 把公司总部地址塞进
address(比如“上海市浦东新区XX路XX号”),却不带任何可交互联系方式 → 屏幕阅读器会误读为“可联系地址”,用户点不了也发不了邮件 - 在
address里写<p>© 2026 All rights reserved.</p>→p是块级元素,address不允许嵌套块级内容,HTML 解析器会自动补全或静默修正,结果不可控 - 用
address标注文章作者名但没提供任何联系方式(如只有“王五”两个字)→ 语义断裂,失去存在意义 - 多个
address嵌套(<address><address>...</address></address>)→ 所有浏览器都视作无效嵌套,第二个address会被降级为普通文本容器
所有现代浏览器默认将 address 渲染为斜体并前后加换行,但这只是 UA stylesheet 的默认行为;一旦你用 CSS 清除 font-style 或 margin,它就只剩语义价值——而这个价值,只在用对的时候才成立。
真正难的不是怎么写,而是每次写之前先问一句:这个信息,是否能让用户立刻发起联系?如果不是,就别用 address。



















