• Skip to main content
  • Skip to primary sidebar

プログラミング入門ナビ by Proglus(プログラス)

プログラミング学習初心者のための情報メディア

本ページにプロモーションが含まれる場合があります

You are here: Home / Archives for section

section

情報のグループ化は重要!div要素だけでなく意味に応じてarticleやsection等を使い分けよう!

2020-09-30 By プログラミング入門ナビ編集部

デスクと文書

はじめに

デスクと文書

ウェブページを作る時、文章の構造を意識してHTMLコーディングしていますか?

HTMLには、各部分でどんな内容を書いているのかグルーピングするための要素があります。

こういったグルーピングをしないで書くのも間違いではありません。

しかし、情報をグループ化して文章構造をはっきりとさせると様々なメリットがあるのです。

この記事では情報をグループ化するための要素を紹介し、実際のコード例を交えて使い方を解説します。

動画解説

本記事の内容を動画でも解説しています。

情報のグループ化の重要性

div要素とHTML5以降の新要素

HTML5より前のバージョンでは、文章のかたまりをdiv要素でまとめていました。

div要素は意味を持たない汎用ブロックで、こちらを使っている方も多いかもしれません。

HTML5以降ではこれに代わる新要素が登場しており、後述する理由からdivだけでなく文書の意味に応じて使い分けることが推奨されています。

詳しくは後ほど紹介しますが、headerやfooter、article等といった要素です。なんとなくどんな部分に使うのか想像がつきますね。

情報のグループ化によるメリット

文章の構造がわかりやすくなる

人間にとってはもちろん、コンピュータからみても何の文章が書かれているのか見やすくなるのが大きな利点です。

複数人でコードを書く時にもわかりやすくて便利ですし、検索エンジンが膨大なウェブページの中から必要な部分を抽出してくるのにも役立ちます。

スタイルをあてやすくなる

ウェブページのデザインはCSSを使って行います。

CSSで定義したスタイルをHTML文書に適用する際、情報ごとにグループ化されていると非常にスタイルをあてやすいです。

なお、プログラスではCSSの講座も解説していますので、興味のある方はこちらも参考にしてください。

CSS入門(Proglus)

情報のグループ化を行う要素

ここからグルーピングに使用できる新要素を1つ1つ見ていきましょう。

header

文書のヘッダー部分を示します。

ここには大抵ページ自体の見出し(基本的にはh1見出し)や、後述のナビゲーションが入ることが多いです。

footer

文書のフッターを示します。

ウェブページの著作権表記や商標登録表記などを入れることが多いです。

nav

ナビゲーションを示します。

ナビゲーションとは、ページ上部でページ全体の構成や各セクション・ページへのリンクが貼られている部分のことです。

main

文章のメインコンテンツ領域を示します。

article

記事コンテンツを示す要素です。

ページ・アプリケーション・サイトなどの中で自己完結しており、個別に配信や再利用を行うことを意図した構成物に適用します。

例えば記事に対するコメントやブログの記事等です。

section

セクションを示す要素です。

セクションとは見出し+それに伴うコンテンツの組み合わせを指しますが、見出しがない場合もあります。

articleと似ていますが、articleはその部分だけで完結した文章として成り立つ場合に使うのに対し、sectionはその限りではありません。

例えば他ページへのリンクを含んでいて、それをクリックした遷移先でも情報を確認する必要がある場合はsectionを使うと良いでしょう。

aside

余談要素を示します。メインコンテンツとは関連性が低い情報のことです。

「アサイド」は日本語で「脇へ」とか「傍らに」といった意味で、まさにその意味合いとなっていますね。

例えばサイドバーや広告の表示に使われることがあります。

練習用のページを作ってみよう

説明を読んでもイメージが沸きにくいですので、実際に先ほどの要素を含んだページを作ってみましょう。

ページのイメージ

完成形としてこのようなウェブページを作ります。

グループ化の練習ページ

文章構造

このウェブページの文章構造は下記のようにします。

HTML文書の構造

コード例

それでは実際に書いてみましょう。エディタで「group.html」というファイルを新規作成し、下記のように記述してみてください。

先の項目で学習した各要素が折り込まれていることに注目です。

また、リンク先はダミーとして”#”と書いています。クリックしても何のページにも飛ばないですがテストページなので問題ありません。

<!DOCTYPE html>
<html lang="ja">
  <head>
    <meta charset="utf-8">
    <title>グループ化の練習</title>
  </head>
  <body>
    <header>
      <h1>グループ化の練習</h1>
      <nav>
        <ul>
          <li><a href="#">エンジニアへの道</a></li>
          <li><a href="#">プログラミング入門</a></li>
          <li><a href="#">ニュース</a></li>
        </ul>
      </nav>
    </header>

    <main>
      <article>
        <h2>グループ化を学ぶのにおすすめのサイト10選!</h2>
        <p>グループ化を学べるサイトを10個紹介いたします。</p>
      </article>
      
      <section>
        <h2>関連記事</h2>
        <ul>
          <li><a href="#">関連記事1</a></li>
          <li><a href="#">関連記事2</a></li>
          <li><a href="#">関連記事3</a></li>
        </ul>
      </section>
    </main>

    <aside>
      <h2>広告</h2>
      <p>全ショップ対象エントリーでポイント5倍!</p>
    </aside>

    <footer>
      <p><small>&copy; 2020 Yuta Nakamura.</small></p>
    </footer>
  </body>
</html>

ファイルを保存して、ブラウザで表示させてみましょう。先ほどのイメージ通りに表示されれば成功です。

なお、今回学習したグルーピングのための各要素(header・nav・main等)がなくてもHTMLとしては間違いではありません。

興味のある方はこれらを外して表示させてみてください。全く同じ表示になるはずです。

よくある質問

必ず情報のグループ化をした方がいいですか?

必須ではありません。現に、グループ化をしなくても得られる表示は同じです。

ただし、先述の通り文書構造がわかりやすくなる・スタイルがあてやすくなるというメリットがあるため、グループ化することを推奨します。

divだけを使用してはいけませんか?

div要素だけ使用しても情報のグルーピングはできます。

しかしながら、新要素を使う方が文章構造をより正確に表現できるのでおすすめです。

どの要素をどこに使うべきかわかりません

これについては100%の正解があるわけではなく、結局はウェブ製作者の意図に合わせて様々なパターンが考えられます。

正解は1つではありませんので、深く悩みすぎずに用途に合わせて設計しましょう。

まとめ

板書する人々

HTML5の新要素を使った情報のグループ化方法について解説しました。

本格的なウェブサイトであればあるほどグループ化は重要になります。

ぜひ覚えてグループ化を心がけてください。

本記事の内容は下記の講座からの抜粋です。HTMLについてより体系的に学びたい方はぜひチェックしてみてください。

新HTML入門(Proglus)

動画でプログラミング入門をしよう

オンライン学習サービスProglus(プログラス)でプログラミングを学び、創れる人になろう!

プレミアムプランを2週間無料体験しよう

今すぐ詳細を確認する

Filed Under: プログラミング入門 Tagged With: article, aside, div, footer, header, HTML, main, nav, section

Primary Sidebar

Proglus(プログラス)

Twitter

Follow @programmingnavi Tweets by programmingnavi

最近の投稿

  • 【05/02更新】Udemyプログラミング入門講座等の割引クーポン配布
  • AWSのパブリックIPv4アドレス有料化について 2024/2より
  • 【CSS】Google Fontsの利用方法について解説します!新UIに対応2023年11月更新
  • 【SQL】XAMPPのMySQLがXAMPPがポートの競合で起動できない問題について解決方法を解説します!
  • 【Colab】–NOMAL– と表示されて、ショートカットキー(ctrl+c)でコピーができない場合の解決方法を解説します!

カテゴリー

  • AIの使い方
  • Arduino入門
  • AWS
  • その他
  • エンジニアのしごと
  • エンジニアへの道
  • ツールの使い方
  • ニュース
  • プログラミング入門
  • 電子工作入門

タグクラウド

AI AWS AWS Cloud9 Cloud9 CodeWing CSS Emmet GCP Git GitHub Heroku HTML JavaScript li Linux macOS MySQL MySQL Workbench node.js Nuxt.js ol Proglus Python Ruby Ruby on Rails SQL Udemy Visual Studio Code Vue.js Web開発 Windows インストール エラー エンジニア オンライン学習 サーバー スクリーンショット セール プログラミング プログラミング入門 プログラミング学習 ユーデミー 初心者 未経験 機械学習

アーカイブ

  • 2025年5月
  • 2024年1月
  • 2023年11月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年5月
  • 2023年4月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年4月
  • 2021年3月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年11月
  • 2019年9月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月

検索

Copyright © 2025 · programmingnavi.com ・About・プライバシーポリシー