• Skip to main content
  • Skip to primary sidebar

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

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

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

You are here: Home / Archives for div

div

span要素の使い方を解説!div要素との違いも確認しよう

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

板書する講師

はじめに

板書する講師

「span要素って一体何のためにあるんだろう?」

これはHTMLを学習し始めた人が比較的抱きやすい疑問の一つです。

また、div要素を知っている場合は、spanとdivがよく似た要素なので違いについても気になるのではないでしょうか。

この記事ではspan要素についてコード例を交えながら解説し、div要素との違いについても説明します。

動画解説

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

span要素とは

まず、span要素とは一体何なのでしょうか。

意味を持たない要素

実は、span要素自体は意味を持ちません。

文章の特定の部分を後からCSSで装飾したい時によく利用する要素です。

ここでいう「装飾」とは、例えば文字を大きくしたり色を変えたりなどといった見た目のデザインを行うことと捉えてください。

意味を持つ要素との違い

例えば「見出し」を意味するh1要素や「段落」を意味するp要素を思い浮かべてください。

これらは開始タグ・終了タグで挟まれた部分に文章上の意味付け(見出しや段落など)がなされていますね。

後から装飾したいだけならば、これらの要素に対して行うことも可能です。

しかしながら、文章上で特に意味を持たない部分にはこれらの要素を使えません。

このような部分を装飾したい時に活用されるのがspan要素なのです。

spanの使い方

説明だけではイメージを掴みにくいですので、ここからは実際にコーディングしながらspan要素の使い方を見ていきましょう。

コード例

エディタを開いて「span.html」という新規ファイルを作成し、下記のように記述してみてください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>spanの練習</title>
  <style>
    .red {
      color: red;
    }
  </style>
</head>
<body>
  <p>私は、<span class="red">HTML</span>と<span class="red">CSS</span>を学びます。</p>
</body>
</html>

注目ポイントはまずhead要素の中にstyle要素があることです。

この中に書かれているのがCSSで、文字色を赤色にするためのredというクラスが記述されています。

また、本文の「HTML」と「CSS」がspan要素となっており、ここで「class=”red”」と属性が指定されていますね。

こうすることによって、このspan要素はredクラスに属することとなり、先ほどの文字色を赤くするデザインが適用されます。

表示結果

それではファイルを保存しブラウザで開いてみましょう。

下記のように「HTML」と「CSS」が赤文字で表示されれば成功です。

spanの練習

div要素との違い

ここで、div要素を知っている方は疑問に思われたかもしれません。

「divも意味がない要素のはずだけれど、何が違うの?」

実際、div要素も「意味を持たない要素」であり、CSSを当てるために使用されることも同じです。

ここからはこれらの違いを確認していきましょう。

spanとdivの比較

span要素とdiv要素を比較すると、下表のような違いがあります。

div span
ブロック要素 ○ ×
インライン要素 × ○
改行されるか ○ ×

ブロック要素とは、ざっくりいうと要素の幅と高さが指定できる要素のことを指し、要素の終わりに必ず改行されます。

インライン要素とは、反対に要素の幅と高さが指定できない要素のことを指し、要素の終わりで改行がされません。

div要素はブロック要素なので改行がされ、span要素はインライン要素なので改行されないというのが違いです。

表示の違いを確認しよう

これも説明だけではわかりにくいため、実際にコードを書いて確かめてみましょう。

先ほどの「span.html」に、下記のように書き足してみてください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>spanの練習</title>
  <style>
    .red {
      color: red;
    }
  </style>
</head>
<body>
  <p>私は、<span class="red">HTML</span>と<span class="red">CSS</span>を学びます。</p>
  <hr>
  これは<div>div</div>です。
  <hr>
  これは<span>span</span>です。
</body>
</html>

ファイルを保存してブラウザで表示すると、下記のようになります。

divを使ったところでは改行が入り、spanの部分では改行されていませんね。

先ほど説明の通り、divはブロック要素でspanはインライン要素のためこのようになります。

spanとdivの比較

注意点

HTMLのルール上、ブロック要素の中にインライン要素を入れ子にするのは問題ありません。

しかし、逆にインライン要素の中にブロック要素は入れ子できないことになっています。

そのため、span要素の中にdiv要素は入れ子できませんので注意してください。


<div>divの中に<span>span</span>を入れ子します。</div> //OK
<span>spanの中に<div>div</div>を入れ子します。</span> //NG

まとめ

挙手する生徒たち

span要素の使い方を解説し、div要素との違いについても説明しました。

理解は深まりましたか?

CSSでデザインを当てる時に非常に便利な要素ですので、ぜひ使い方を覚えてください。

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

新HTML入門(Proglus)

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

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

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

今すぐ詳細を確認する

Filed Under: プログラミング入門 Tagged With: div, HTML, span

情報のグループ化は重要!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・プライバシーポリシー