HTML5からの新要素なのですが、<section>タグはそのブロックがひとつのセクションである事を示すタグです。 <article>タグは内容が単体で完結するセクションである事を示すタグです。 とのことで似たような意味合いのこの2つのタグはネットで検索しても使い方に迷われる方が結構いらっしゃるみたいです。 ちなみに僕はarticleは一つの大きなくくりでその中にsectionがあるようなイメージを持っています。 例えば食品についてのページがあるとして食材というarticleの中に肉、野菜、果物のsectionがあり、そして同ページに調理法というarticleがあり その中に焼く、煮る、蒸す等のsectionがあるイメージです。更に細分化していくなら肉の中に牛、豚、鳥articleその中に国産、輸入、ブランド等のsectionと言った感じに とらえています。更に言うと下の図を見ていただければわかると思いますが、そこまで入れ子にするとごちゃごちゃしますので、ページを分割します。 今の考えかたでいくとarticleでくくられたコンテンツは単独したコンテンツとして成り立ちますしsectionは一つのブロックとして機能していると思います。 ただこの考え方はタグを逆にしても成り立ってしまうので、この辺が皆さんが悩まれるポイントなのでしょう。ちなみにデザイン都合で使っては行けません。 構造的なマークアップの為のタグです。
上の図では調理法は割愛しています。
余談から入っていまいましたが本題です。 まずはサンプルソースから
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
<!doctype html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>僕について</title> <meta name="keywords" content="webデザイン,ホームページ,Mac,Wordpress" /> <meta name="description" content="僕についてのホームページです。" /> </head> <body> <header> <h1>僕について</h1> <nav> <ul> <li><a href="index.html">TOPページ</a></li> <li><a href="about.html">自己紹介</a></li> <li><a href="skill.html">自分にできること</a></li> <li><a href="flow.html">タイムスケジュール</a></li> <li><a href="faq.html">よくある質問</a></li> </ul> </nav> </header> <article> <h1>僕はこんな人間です。</h1> <p> 僕についてのテキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 </p> <section> <h1>自己紹介</h1> <p> テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 </p> </section> <section> <h1>自分にできること</h1> <p> テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 </p> </section> <section> <h1>タイムスケジュール</h1> <p> テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 </p> </section> <section> <h1>よくある質問</h1> <p> テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。 </p> </section> </article> <footer> <p>Copyright © CREATE RECORD. All Rights Reserved.</p> </footer> </body> </html> |
前回のサンプルソースよりもより構造的にマークアップしてみました。ではひとつづつ理解していきましょう。
headerタグはコンテンツの導入箇所に用いられh1〜h6やナビゲーションが含まれる事が想定されているタグです。 僕の経験則ではページの導入箇所に使われているイメージですが、各セクションの導入箇所に用いることもできます。
html5はhtmlの構造をより明確化するためのものなので僕の場合はほとんどページの導入箇所に使い各セクションでは使っていません。動的コンテンツでたまに使うぐらいです。headタグと間違わないように注意です。
navタグはナビゲーションを囲むタグです。いわゆるリンクメニューですね。リンクについては下記のaタグをご参照ください。
リンクの箇所すべてを<nav>~</nav>で囲む必要はありません。グローバルナビゲーション(ページの上の方に配置されているメニュー)やローカルナビゲーション(ページの右側や左側もしくは両側に配置されているメニュー)に主に用いられます。
ulは箇条書リストに用いられます。
liはリストの項目に用いるタグです。
<ul><li>はこのサンプルのようにナビゲーションに用いられることも多いです。
aタグはリンクの出発点と到達点に用いられます。出発点はサンプルのように <a href="到達点の場所">を記述します。到達点についてはまたサンプルで出てきた時に解説します。
footerにはセクションの情報を記述します。著作者や運営者等。 footerタグはページの最後に記述されているイメージですが、headerタグ同様に各セクションの末尾に使用する事ができます。 僕はheader同様殆どの場合ページの末尾に使用しています。
気付いているかもしれませんが今回使用したタグで機能的なタグはaタグだけで後のタグは構造を示すタグばかりでした。 極端な話しレイアウトを表示するだけでしたらpタグだけでも多彩なレイアウトを作る事ができますが、構造的に正しくマークアップするところにhtmlの醍醐味があります。