Menu

HTML 页脚:footer 标签、示例与布局

<footer> 元素是页面或区块的结尾部分:版权信息、联系方式、链接、作者信息。学习如何制作带链接分栏的网站页脚、如何让页脚在内容很少的页面上保持在底部,以及页脚在文章中的用法。

本页包含可运行的编辑器。编辑、运行,立即查看输出。

如何在 HTML 中制作页脚

把页面的结尾内容放进 <footer> 元素,通常是 <body> 中的最后一部分。和 <header> 一样,它没有默认外观;是 CSS 让它变成页脚栏:

&copy; 会显示 © 符号。<small> 把版权这一行标记为附属细则,这是它在 HTML 中的含义,而不只是更小的字号。链接列表是真正的 <ul> 列表,所以大多数屏幕阅读器会告诉用户每一栏有多少个链接。

让页脚保持在底部

在内容很少的页面上,页脚紧贴在内容下方,下面留出一片空白。解决方法是 flex 纵向布局:容器至少和窗口一样高,主体区域占据所有剩余高度。下面的灰色方框代表浏览器窗口:

去掉 main 上的 flex: 1,页脚就会跳到段落下方。在真实页面中,把同样的规则写在 <body> 上,并用 min-height: 100vh(以及 margin: 0)代替固定高度,这样页脚在短页面上会位于底部,在长页面上则位于内容之后。

文章中的页脚

<footer> 是离它最近的文章或区块的结尾,所以一篇博客文章或一条评论都可以有自己的页脚,写上作者、日期或标签:

屏幕阅读器只把页面级的页脚当作 contentinfo 地标。文章中的页脚只是一个普通分组,不会和网站页脚相互干扰。

用 address 写联系方式

页面或其所有者的联系信息,请用页脚中的 <address>。它只用于联系方式(而不是内容中出现的任意邮寄地址),浏览器默认以斜体显示它:

address 里的换行是 <br> 的合理用法之一。关于邮件链接,参见 mailto 页面。

页脚里能放什么

页脚可以包含链接、列表、表单(订阅新闻邮件)、图片和 <nav>。它不能包含 <header>、另一个 <footer> 或 <main>。页脚中的第二个菜单可以是一个带标签的 <nav>,用来和主菜单区分开:

<footer>
  <nav aria-label="Footer">
    <a href="/privacy">Privacy</a>
    <a href="/terms">Terms</a>
  </nav>
</footer>

常见错误

  • 把 <footer> 放在 <body> 外面。 所有可见内容都放在 <body> 里,页脚也一样。
  • 用 position: fixed 把它固定在下方。 固定的页脚在小屏幕上会遮住内容,还需要到处加内边距。请用 flex 纵向布局的写法。
  • 任何地址都用 <address>。 它用于页面或文章作者的联系方式。门店列表中的商店地址用普通的 <p> 即可。
  • 用 <br> 标签拼出链接分栏。 请用 <ul> 列表,让结构能被朗读出来。
  • 把去年的年份写死。 在模板中更新版权年份,或者由服务器或构建步骤输出它。

常见问题

HTML 中的 footer 标签是什么?

<footer> 是一个语义元素,用于页面或区块的结尾内容:版权信息、联系方式、相关链接或作者信息。它是一个块级盒子,没有默认样式。

网站页脚里应该放什么?

常见的页脚包含版权声明、隐私政策和服务条款等法律页面的链接、联系方式、社交媒体链接和简短的网站地图。主导航也要放在页面顶部的 <nav> 中,因为并不是每个访问者都会滚动到最后。

怎样让页脚保持在页面底部?

把 body 设为至少和窗口一样高的 flex 纵向布局(display: flex; flex-direction: column; min-height: 100vh;),并给 <main> 设置 flex: 1。这样主体区域会撑满空余空间,在内容很少的页面上把页脚推到底部。

HTML 中怎么写版权符号?

使用实体 &copy;,它会显示为 ©。页面使用 <meta charset="utf-8"> 时,也可以直接输入这个字符。把这一行包在 <small> 里,表示它是附属细则。

一个页面可以有多个页脚吗?

可以。每个 <article> 或 <section> 都可以有自己的页脚,用来放作者信息或标签。只有不在 article、aside、main、nav 或 section 里面的页脚,才是屏幕阅读器眼中页面的 contentinfo 地标。

Coddy 编程语言插图

和 Coddy 一起学编程

开始