HTML でフッターを作る方法
ページを締めくくる内容を <footer> 要素に入れます。普通は <body> の最後に置きます。<header> と同じく初期の見た目はないので、CSS でフッターのバーにします。
© は © の記号を表示します。<small> はコピーライトの行を注意書きの小さな文字として示します。HTML ではこれが <small> の意味で、単にフォントを小さくするだけではありません。リンクのリストは本物の <ul> のリストなので、ほとんどのスクリーンリーダーは各列にリンクがいくつあるかを読み上げます。
フッターを最下部に置く
内容の少ないページでは、フッターは内容のすぐ下に表示され、その下に空白ができます。解決策は flex の縦並びです。入れ物をウィンドウ以上の高さにし、メインの領域に残りの高さをすべて使わせます。下のグレーの箱をブラウザのウィンドウに見立てています。
main から flex: 1 を消すと、フッターが段落の下に跳ね上がります。実際のページでは、固定の高さの代わりに min-height: 100vh (と margin: 0) を付けて同じルールを <body> に指定します。そうすれば、短いページではフッターが最下部に、長いページでは内容の後に表示されます。
記事の中のフッター
<footer> はいちばん近い記事やセクションを締めくくるので、ブログ記事やコメントも、著者、日付、タグを入れた独自のフッターを持てます。
スクリーンリーダーが contentinfo ランドマークとして扱うのは、ページの階層のフッターだけです。記事の中のフッターは普通のグループなので、サイトのフッターと競合しません。
address で連絡先を示す
ページやその所有者の連絡先には、フッターの中で <address> を使います。これは連絡先専用で (内容に出てくる住所一般のためのものではありません)、ブラウザは初期状態で斜体で表示します。
address の中の改行は、<br> の正しい使い方の 1 つです。メールのリンクについて詳しくは mailto のページを参照してください。
フッターに入れられるもの
フッターには、リンク、リスト、フォーム (ニュースレターの登録)、画像、<nav> を入れられます。<header>、別の <footer>、<main> は入れられません。フッターの 2 つ目のメニューは、メインのものと区別できるラベルを付けた <nav> にできます。
<footer>
<nav aria-label="Footer">
<a href="/privacy">Privacy</a>
<a href="/terms">Terms</a>
</nav>
</footer>
よくある間違い
<footer>を<body>の外に置く。 フッターも含めて、見えるものはすべて<body>の中に入れます。- 下に留めるために
position: fixedを使う。 固定されたフッターは小さな画面で内容を覆い、あちこちに padding が必要になります。flex の縦並びのパターンを使いましょう。 - どんな住所にも
<address>を使う。 これはページや記事の著者の連絡先のためのものです。店舗一覧の中の住所は普通の<p>です。 <br>タグでリンクの列を作る。 構造が読み上げられるよう<ul>のリストを使いましょう。- 去年の年をそのまま書いておく。 コピーライトの年はテンプレートで更新するか、サーバーやビルドの処理で出力しましょう。
よくある質問
HTML の footer タグとは何ですか?
<footer> はページやセクションを締めくくる内容のためのセマンティックな要素で、著作権、連絡先、関連リンク、著者情報を入れます。初期スタイルのないブロックボックスです。
Web サイトのフッターには何を入れればいいですか?
一般的なフッターには、著作権表示、プライバシーポリシーや利用規約などの法的なページへのリンク、連絡先、SNS のリンク、簡単なサイトマップを入れます。すべての訪問者が最後までスクロールするわけではないので、メインのナビゲーションは上部の <nav> にも置いておきましょう。
フッターをページの最下部に置くには?
body をウィンドウ以上の高さの flex の縦並びにし (display: flex; flex-direction: column; min-height: 100vh;)、<main> に flex: 1 を指定します。するとメインの領域が空いたスペースを埋めるように伸び、短いページでもフッターが下に押し下げられます。
HTML で著作権記号 (コピーライト) を書くには?
文字参照 © を使うと © が表示されます。ページで <meta charset="utf-8"> を使っていれば、文字を直接入力することもできます。その行を <small> で囲むと、注意書きの小さな文字であることを表せます。
1 ページにフッターを複数置けますか?
置けます。各 <article> や <section> は、著者の情報やタグのための独自のフッターを持てます。スクリーンリーダーにとってページの contentinfo ランドマークになるのは、article、aside、main、nav、section の中にないフッターだけです。