概要と目標
HTML5から追加された、
ページの構造を表す要素を学習しよう。
HTML5から追加された、章・節・項などのセクションを明示的に表す要素や、
ヘッダーやフッターなどの基本構造を表す要素を学習しましょう。
HTML5から追加された、章・節・項などのセクションを明示的に表す要素や、
ヘッダーやフッターなどの基本構造を表す要素を学習しましょう。
HTML5よりも前は、h1要素 〜 h6要素を使って話題の階層を推測し判断していたが、
HTML5からは、そのような章・節・項などのセクションを明示的に表す要素が追加された。
これらの要素はセクショニング・コンテンツというカテゴリに分類されている。
| 要素名 | 意味・役割 | カテゴリ | コンテンツ・モデル |
|---|---|---|---|
section |
章・節・項などの一般的なセクションを表す HTML5 新 |
|
フロー・コンテンツ |
article |
内容が完結している独立したセクションを表す要素 HTML5 新 |
|
フロー・コンテンツ |
aside |
メインコンテンツに含まれない補足的なセクションを表す HTML5 新 |
|
フロー・コンテンツ |
nav |
主要なナビゲーションのセクションを表す HTML5 新 |
|
フロー・コンテンツ |
section要素を使ってみよう。
section要素は、章・節・項などの一般的なセクションを表す。
基本的な話題の階層は、このsection要素を使う。
<section>
<h2>私たちにできること</h2>
<p>私たちは、下記の技術でお客様のWebサイトを形に出来ます。</p>
</section>
<section>
<h2>新着ブログ</h2>
<h3>もうすぐHTMLの勉強が終わります。</h3>
<p>皆さんこんにちは、もうすぐHTMLの勉強が終わるので、・・・<a href="#">もっと見る</a></p>
<h3>テーブルとフォーム関連の要素を習得!</h3>
<p>HTMLの中でも習得が困難なテーブルとフォーム関連の要素を・・・<a href="#">もっと見る</a></p>
</section>
article要素を使ってみよう。
article要素は、ブログやニュース記事などの独立したセクションを表す。
article要素は、その部分が独立したコンテンツとして成り立つ必要がある。
<section>
<h2>新着ブログ</h2>
<article>
<h3>もうすぐHTMLの勉強が終わります。</h3>
<p>皆さんこんにちは、もうすぐHTMLの勉強が終わるので、・・・<a href="#">もっと見る</a></p>
</article>
<article>
<h3>テーブルとフォーム関連の要素を習得!</h3>
<p>HTMLの中でも習得が困難なテーブルとフォーム関連の要素を・・・<a href="#">もっと見る</a></p>
</article>
</section>
aside要素を使ってみよう。
aside要素は、メインコンテンツからは切り離すことが可能な補足的なセクションを表す。
具体的には、 補足情報や余談、広告やサイドバーの補足コンテンツなどに利用する。
<aside>
<h2>関連リンク</h2>
<ul>
<li><a href="#">Dummy Cafe</a></li>
<li><a href="#">架空温泉 だみい屋</a></li>
</ul>
</aside>
nav要素を使ってみよう。
nav要素は、主要なナビゲーションを表す。
具体的にはサイトの全ページに一貫して表示されるグローバルナビゲーションなどに利用する
<nav>
<h2>サイト内メニュー</h2>
<ul>
<li><a href="#">ホーム</a></li>
<li><a href="#">サービス</a></li>
<li><a href="#">私たちについて</a></li>
<li><a href="#">お問い合わせ</a></li>
</ul>
</nav>
HTML5では、セクションの階層構造を意識することが重要になる。
この階層構造のことをアウトラインと言い、セクショニング・コンテンツの各要素や、
ヘディング・コンテンツのh1要素 〜 h6要素を使うごとに生成される。
セクショニング・コンテンツの要素を使わない場合は、見出しの要素が現れた時にセクションが始まる。
ただし、見出し要素の階層(見出し要素の数字)によって、新たなセクションとして始めるか、
サブセクションとして始めるかが異なる。
具体的には、見出し要素の階層が、前の見出し要素と同じ階層か、
それより上の階層であれば(数字が小さければ)現在のセクションを終了し、
新たなセクションとしてセクションを始める。
反対に、見出し要素の階層が、前の見出しより下の階層であれば(数字が大きければ)、
現在のセクションのサブセクションとして、セクションを始める。
従って、作りたいアウトラインに合わせて適切にh1要素 〜 h6要素を使う必要がる。
セクショニング・コンテンツの要素がある場合、セクショニング・コンテンツの要素が現れた時に、
現在のセクションのサブセクションが始まる。
なお、そのセクションの先頭にある見出しが、そのセクションの見出しとなる。
従って、セクショニング・コンテンツの要素を適切に使用していれば、
見出しの階層(見出し要素の数字)に関係なくアウトラインを生成出来る。
ただし、セクションの範囲はセクショニング・コンテンツの要素で明示的に示し、
その階層に合わせた見出しの要素を使うことが推奨されている。
HTML5からヘッダーや、フッター、メインコンテンツを明確に表す要素が追加された。
これらの要素を使ってページや記事のヘッダーやフッターなどを明示的に表す
| 要素名 | 意味・役割 | カテゴリ | コンテンツ・モデル |
|---|---|---|---|
header |
ヘッダーを表す HTML5 新 | フロー・コンテンツ |
フロー・コンテンツ (子孫に、別の header要素、main要素、footer要素は配置できない)
|
main |
メインコンテンツを表す HTML5 新 | フロー・コンテンツ | フロー・コンテンツ |
footer |
フッターを表す HTML5 新 | フロー・コンテンツ |
フロー・コンテンツ (子孫に、別の header要素、main要素、footer要素は配置できない)
|
address |
連絡先を表す | フロー・コンテンツ |
フロー・コンテンツ (子孫に、ヘディング・コンテンツ、セクショニング・コンテンツ、 header要素、footer要素、address要素は配置できない)
|
header要素を使ってみよう。
header要素は、ページやセクションのヘッダーを表す。
具体的には、Webサイト内の全てのページに一貫して表示されるロゴやナビゲーションのグループ、
セクションの導入部分などに利用する。
<header>
<h1>Dummy 株式会社</h1>
<nav>
<h2>サイト内メニュー</h2>
<ul>
<li><a href="#">ホーム</a></li>
<li><a href="#">サービス</a></li>
<li><a href="#">私たちについて</a></li>
<li><a href="#">お問い合わせ</a></li>
</ul>
</nav>
</header>
main要素を使ってみよう。
main要素は、ページの主要コンテンツを表す。
この要素は、そのページ固有のメインコンテンツのみに使う。
また、article要素、 aside要素、 nav要素、 header要素、footer要素の中で使うことも出来ない。
<main>
<section>
<h2>私たちにできること</h2>
<p>私たちは、下記の技術でお客様のWebサイトを形に出来ます。</p>
</section>
<section>
<h2>新着ブログ</h2>
<article>
<h3>もうすぐHTMLの勉強が終わります。</h3>
<p>皆さんこんにちは、もうすぐHTMLの勉強が終わるので、・・・<a href="#">もっと見る</a></p>
</article>
<article>
<h3>テーブルとフォーム関連の要素を習得!</h3>
<p>HTMLの中でも習得が困難なテーブルとフォーム関連の要素を・・・<a href="#">もっと見る</a></p>
</article>
</section>
</main>
footer要素を使ってみよう。
footer要素は、ページやセクションのフッターを表す要素。
具体的には、全ページの一番最後に一貫して表示されるサイトの連絡先情報や、
著作権情報、関連リンク。
ブログ記事などのセクション内では著者情報などに利用する。
<footer>
<p>当サイトへのお問い合わせは、<a href="#">お問い合わせフォーム</a>からお願いします。</p>
<p><small>© 2018 Dummy All Rights Reserved.</small></p>
</footer>
address要素を使ってみよう。
address要素は、連絡先を表す。
address要素は、基本的にはサイトの連絡先を表すが、article要素内で使う場合は、
その記事の連絡先を表す。
なお、「address」という要素名だが、全ての住所に使う要素ではないので注意する。
address要素に変更
<footer>
<address>当サイトへのお問い合わせは、<a href="#">お問い合わせフォーム</a>からお願いします。</address>
<p><small>© 2018 Dummy All Rights Reserved.</small></p>
</footer>
「chapter05」 › 「training」フォルダ内の「index.html」を開き、
下記の問題を解いて下さい。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>架空温泉 だみい屋</title>
</head>
<body>
<header>
<h1>架空温泉 だみい屋</h1>
<nav>
<h2>サイト内メニュー</h2>
<ul>
<li><a href="#">お部屋</a></li>
<li><a href="#">お食事</a></li>
<li><a href="#">お風呂</a></li>
<li><a href="#">施設案内</a></li>
<li><a href="#">よくある質問</a></li>
<li><a href="#">ご宿泊プラン・予約</a></li>
</ul>
</nav>
</header>
<main>
<section>
<h2>大切な人と「ゆったり」過ごすお部屋。<br>ワンちゃんと「たっぷり」遊ぶお部屋。</h2>
<p>
だみい屋はビジネスや家族連れのお客様におすすめなスタンダードタイプのお部屋はもちろん、
カップルにおすすめの<em>離れ</em>や、わんちゃん連れにおすすめな<em>ドッグラン付き</em>のお部屋をご用意致しております。
</p>
<section>
<h3>ビジネスにおすすめ<br>スタンダード10畳</h3>
<p>一番多い部屋数があるスタンダードの10畳のお部屋です。</p>
<p><a href="#">スタンダード10畳の詳細を見る</a></p>
</section>
<section>
<h3>カップルにおすすめ<br>離れ</h3>
<p>プライベートな空間でゆったりできる、家族風呂付きの離れのお部屋です。</p>
<p><a href="#">離れの詳細を見る</a></p>
</section>
<section>
<h3>ワンちゃんにおすすめ<br>ドッグラン付き客室</h3>
<p>ワンちゃんと一緒に旅行を楽しめる。ドッグラン付きのお部屋です。</p>
<p><a href="#">ドッグラン付き客室の詳細を見る</a></p>
</section>
</section>
<section>
<h2>お客様の声</h2>
<p>だみい屋に寄せられた「お客様の声」の一部をご紹介します。</p>
<article>
<h3>抜群のコストパフォーマンス!</h3>
<p>部屋が広いくて料理もおいしい。繁華街からも近くてこの値段なら文句もないですね。</p>
<footer>
<p>S・Y さん</p>
</footer>
</article>
<article>
<h3>ドッグラン付きがうれしい!</h3>
<p>
温泉旅館で、ドッグランがついてる部屋があるのが嬉しいです。
ただ、畳は少し凸凹してました。ワンちゃんがお部屋の中で走ってるからかな?
まぁ私にとっては大満足な旅館でした。
</p>
<footer>
<p>山田 さん</p>
</footer>
</article>
</section>
</main>
<footer>
<address>
架空温泉 だみい屋<br>
〒56X-00XX<br>
大阪府架空市架空区架空1-1-1
</address>
<p><small>© 2018 架空温泉 だみい屋.</small></p>
</footer>
</body>
</html>
解答例は全問題のチェックボックスが on になるとご覧いただけます。
セクションを表す要素や、ヘッダー、フッター、メインコンテンツを表す要素など、
明示的にその範囲を表せるようになった。