<main></main>
更新日 | |
---|---|
仕様 | HTML Living Standard |
分類 | フロー・コンテンツ / パルパブル・コンテンツ |
利用場所 | フロー・コンテンツが置ける場所(ただし、祖先要素はhtml要素、body要素、div要素、アクセス可能な名前を持たないform要素、自律カスタム要素に限定される) |
内容 | フロー・コンテンツ |
main要素は、文書のメインコンテンツを表します。
- hidden属性が指定されていないmain要素は、1つの文書内に2つ以上配置することはできません。(表示されるmain要素が1つでなければならない)
<main>
メインコンテンツを表します
</main>
main要素を使用することで、それが文書のメインコンテンツであることを表すことができます。
main要素の内容には、その文書で固有かつ中心的な内容を配置することになります。各文書で共通使用されるナビゲーションやロゴ、著作権情報などはこの要素内には含めません。
次の例では、メインコンテンツとして2つの記事を配置しています。
<main>
<article>
<h2>記事その1</h2>
...
</article>
<article>
<h2>記事その2</h2>
...
</article>
</main>
サイト内で共通使用されるナビゲーション(グローバルナビゲーション)は不可となりますが、メインコンテンツ内で使用されるナビゲーション(ページ内リンク)であればmain要素の中に配置することができます。
次の例では、main要素の中にページ内リンクのメニューを配置しています。
<main>
<h1>メインコンテンツ</h1>
<nav>
<ul>
<li><a href="#article1">記事その1</a></li>
<li><a href="#article2">記事その2</a></li>
<li><a href="#article3">記事その3</a></li>
</ul>
</nav>
<article id="article1">
<h2>記事その1</h2>
...
</article>
<article id="article2">
<h2>記事その2</h2>
...
</article>
<article id="article3">
<h2>記事その3</h2>
...
</article>
</main>
hidden属性が指定されたmain要素は、文書内に複数配置することが可能です。
次の例では、文書内に3つのmain要素を配置して、そのうちの2つが非表示になっています。
<main>
<p>デフォルトで表示されるメインコンテンツ</p>
</main>
<main hidden>
<p>現時点では関連していないメインコンテンツ(デフォルトでは非表示)</p>
</main>
<main hidden>
<p>現時点では関連していないメインコンテンツ(デフォルトでは非表示)</p>
</main>
- 例えば、表示されるメインコンテンツを、スクリプトによって切り替えることが考えられます。
セクションについて
main要素はセクショニング・コンテンツではないため、新たなセクションを生成しません。
- 旧HTMLからの変更点
-
- HTML5:main要素が定義されました。
- HTML5.2:main要素を複数配置できるようになりました。(ただし、表示されるmain要素は1つのみ)
- HTML LS:利用場所に関する定義が変更されました。