footer标签语义明确,仅容当前页面或文章直接相关的元信息、导航、联系入口等;禁放全站广告、无关外链、重复主导航及“回到顶部”按钮;须按作用域(body/article/section)嵌套,确保DOM与视觉顺序一致。
footer 标签不是“随便塞版权信息的地方”,它有明确的语义边界:只应包含与当前页面或当前文章直接相关的元信息、导航、联系入口等,不能放全站通用的广告、无关外链或重复的主导航。
footer 标签浏览器和屏幕阅读器会把 footer 当作当前范围(页面级或文章级)的结尾元区域,因此内容必须具备“收尾属性”:
© 2025 MySite. All rights reserved.
footer
出现在 article 内部)违反语义会导致 SEO 降权、辅助技术误读、甚至被 Lighthouse 标记为“结构错误”:
nav 或 header 中)button + ARIA,不要塞进 footer 充数)footer 嵌套(HTML5 不禁止,但无意义;一个页面通常只需一个页面级 footer,article 或 section 内可另有一个局部 footer)footer 的嵌套与作用域怎么判断HTML5 规定:footer 总是关联到其最近的祖先节(section、article、body)。它的内容语义由父容器决定:
如何配置 Webpack
…正文…
上面例子中,第一个 footer 属于 article,描述的是这篇文章的元数据;第二个 footer 是 body 的子元素,代表整页的页脚。两者层级不同、语义不混用。
视觉上 footer 常被固定在页面最下方,但别用 position: fixed 强行压底——这会破坏文档流,导致屏幕阅读器跳过或误判顺序。正确做法是:
flexbox 或 grid 实现“粘性页脚”(sticky footer),确保 DOM 顺序与视觉顺序一致footer 设置 display: none 或 visibility: hidden —— 即使视觉隐藏,辅助技术仍可能读出内容,造成混淆真正容易被忽略的是作用域判断:很多人把“页面底部”等同于“footer”,结果把整个底部区域都包进一个 footer,里面塞导航、广告、订阅框……语义一塌糊涂。记住,footer 是“谁的结尾”,不是“在哪结尾”。