目次
はじめに
HTMLを学び始めると必ず出てくる <div> と <span>。「どちらも"囲むだけ"のタグに見えるけど、何が違うの?」と迷いますよね。実はこの2つ、見た目は似ていても役割がはっきり分かれています。この記事を読めば、違い・使い分け・初心者がやりがちな間違いまでスッキリ理解できますよ!
divとspanの一番の違いは「ブロック要素」か「インライン要素」か
ひとことで言うと、ここが全てです👇
- div=ブロック要素:横幅いっぱいに広がり、前後で改行される。レイアウトの"箱"
- span=インライン要素:文章の一部だけを囲む。改行されない
divの使い方(レイアウトのまとまりを作る)
div は、カードやセクションなどコンテンツのまとまりを作るときに使います。
<div class="card">
<h2>商品名</h2>
<p>商品の説明テキストが入ります。</p>
</div>このように関連する要素をまとめると、CSSでまとめて装飾・配置できて便利です。
spanの使い方(文章の一部を装飾する)
span は、文中の一部分だけを指定したいときに使います。
<p>送料は<span class="text-red">無料</span>です。</p>.text-red {
color: red;
font-weight: bold;
}「無料」の部分だけ赤く太字にできました。文の流れを崩さず一部だけ装飾できるのが span の強みです。
初心者がやりがちな間違い
- ❌ spanに幅や高さを指定しても効かない → インライン要素だからです。サイズを指定したいなら
divを使うか、display: inline-block;を足しましょう - ❌ divの入れ子地獄 → 何でもdivにせず、意味のある
<section><nav>なども検討すると、見やすく・SEOにも有利です
divを書く前に「意味のあるタグ」を一呼吸考える
divは便利ですが、何でもdivにすると“div地獄”になり、後から読み返したときに役割が分からなくなります。私は今、divを書く前に「これは<section>や<nav>、<article>で表せないか?」と一呼吸置くようにしています。
意味のあるタグ(セマンティックHTML)を使うと、検索エンジンが構造を理解しやすくなり(SEO)、読み上げソフトにも優しい(アクセシビリティ)というメリットがあります。装飾目的のグルーピングだけdivに任せる、というイメージです。
spanの実用シーン
- 文章の一部だけ色やサイズを変える(例:価格の数字だけ強調)
- アイコンフォントの表示枠(
<span class="icon">) - JavaScriptで文字の一部だけ動かす・差し替えるときの目印
「文章の流れを止めずに、一部だけ手を加えたい」——そんなときがspanの出番です。
まとめ
- div=ブロック要素(箱・レイアウト)、span=インライン要素(文章の一部)
- 幅・高さを指定したいなら基本は div
- 迷ったら「領域ならdiv、文字の一部ならspan」と覚えればOK!
HTML/CSSの「なんで動かないの?」を一つずつ潰していくと、制作スピードがぐっと上がります。もし学習や制作で詰まったら、ポートフォリオやココナラものぞいてみてくださいね。


