• Skip to main content
  • Skip to primary sidebar

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

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

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

You are here: Home / Archives for span

span

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

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・プライバシーポリシー