CSSのdisplayプロパティを値別に解説!基本編!inline,block,inline-block,flex,inline-flex,none

【 2025/08/16 19:30 更新 】
目次

    CSSのdisplayプロパティとは

    HTMLの要素には、種類があります。

    displayプロパティは、要素に対する種類や表示方法を指定できます。

    〜 displayプロパティの書き方 〜

    セレクタ {
        display:;
        その他スタイル...
    }

    :要素の種類を指定する値

    値は、inline、block、inline-block、flexなど様々な種類が用意されています。

    本記事では、基本な値を紹介します。

    CSS
    プロパティ
    display:inline

    display:inlineとは

    値 inline は、インライン要素の指定です。

    〜 インライン要素のイメージ 〜

    inline要素のイメージ

    〜 インライン要素の特徴 〜

    • 前後は改行されない。行の一部分なイメージ。
       → ただし、状況によっては改行される。
    • 横幅は、内容に合わせた幅。
    • ブロック用のCSSプロパティが使えない。
       → 使えないプロパティ例:width、height、margin、padding

    〜 display:inlineの書き方 〜

    セレクタ {
        display: inline;
        その他スタイル...
    }

    デフォルトがインライン要素のタグ

    デフォルトがインライン要素となるタグは以下のものがあります。

    • spanタグ
    • aタグ
    • em・iタグ
    • strong・bタグ
    • smallタグ
    • labelタグ
    • qタグ
    • timeタグ
    • varタグ

    これらは、displayプロパティの指定によって変えることが可能です。

    【コード例1】インライン要素 → インライン要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    隣接したインライン要素同士は横並びとなりました。

    【コード例2】ブロック要素 → インライン要素 → ブロック要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    ブロック要素とインライン要素の間には改行が入りました。

    ブロック要素については次節 "display:blockとは" で解説します。

    CSS
    プロパティ
    display:block

    display:blockとは

    値 block は、ブロック要素の指定です。

    ブロック要素は、Webページのまとまり や レイアウトの役割を果たす要素です。

    〜 ブロック要素のイメージ 〜

    block要素のイメージ

    〜 ブロック要素の特徴 〜

    • 前後に改行が入る。
       → ただし、親要素がフレックスボックスの場合、指定内容によっては改行されない。
    • 横幅は、親の幅いっぱいに広がる
       → ただし、widthプロパティで指定した場合、その指定に従う。
    • ブロック用のCSSプロパティが使え、柔軟性が高くなる。
       → プロパティ例:width、height、margin、padding

    〜 display:blockの書き方 〜

    セレクタ {
        display: block;
        その他スタイル...
    }

    デフォルトがブロック要素のタグ

    デフォルトがブロック要素となるタグは以下のものがあります。

    これらは、displayプロパティの指定によって変えることが可能です。

    【コード例1】インライン要素 → ブロック要素 → インライン要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    ブロック要素とインライン要素の間には改行が入りました。

    【コード例2】ブロック要素 → ブロック要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    隣接したブロック要素同士の間には改行が入りました。

    CSS
    プロパティ
    display:inline-block

    display:inline-blockとは

    値 inline-block は、インライン要素とブロック要素の特徴を持つインラインブロック要素の指定です。

    〜 インラインブロック要素のイメージ 〜

    inline block要素のイメージ

    〜 インラインブロック要素の特徴 〜

    • 前後は改行されない。行の一部分なイメージ。
       → ただし、状況によっては改行される。
    • 横幅は、内容に合わせた幅。
       → ただし、widthプロパティで指定した場合、その指定に従う。
    • ブロック用のCSSプロパティが使え、柔軟性が高くなる。
       → プロパティ例:width、height、margin、padding

    〜 display:inline-blockの書き方 〜

    セレクタ {
        display: inline-block;
        その他スタイル...
    }

    デフォルトがインラインブロック要素のタグ

    デフォルトがインラインブロック要素となるタグは以下のものがあります。

    これらは、displayプロパティの指定によって変えることが可能です。

    【コード例1】インラインブロック要素 → インラインブロック要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    隣接したインラインブロック要素同士は横並びとなりました。

    【コード例2】インライン要素 → インラインブロック要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    隣接したインライン要素とインラインブロック要素は横並びとなりました。

    【コード例3】ブロック要素 → インラインブロック要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    ブロック要素とインラインブロック要素の間には改行が入りました。

    CSS
    プロパティ
    display:flex

    display:flexとは

    値 flex は、フレックスボックスの指定です。

    フレックスボックスの中に内包した子要素は、ブロック要素でも横並びにできることが大きな特徴です。

    〜 フレックスボックスのイメージ 〜

    flexボックスのイメージ

    〜 フレックスボックスの特徴 〜

    • 自身が内包する子要素を横並びにさせることができる。
       → flex-direction:column;を指定することで縦並びにもできます。
    • フレックスボックス関連プロパティによって、子要素の配置や改行なども指定できる。
    • (ブロック要素と同様)前後に改行が入る。
       → ただし、親要素がフレックスボックスの場合、指定内容によっては改行されない。
    • (ブロック要素と同様)横幅は、親の幅いっぱいに広がる。
       → ただし、widthプロパティで指定した場合、その指定に従う。
    • (ブロック要素と同様)ブロック用のCSSプロパティが使え、柔軟性が高くなる。
       → プロパティ例:width、height、margin、padding

    〜 display:flexの書き方 〜

    セレクタ {
        display: flex;
        その他スタイル...
    }

    【フレックスボックスの関連記事】

    リンク先のトップ画像

    【コード例1】インライン要素 → フレックスボックス → インライン要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    インライン要素とフレックスボックスの間には改行が入りました。

    【コード例2】フレックスボックスの中に、複数の子要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    フレックスボックスの中に、「ブロック要素 → ブロック要素 → インライン要素」が内包されています。

    中の要素たちは、ブロック要素も合わせて横並びとなりました。

    【コード例3】フレックスボックスの中に子要素 + 均等間隔に配置

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    フレックスボックスの中に、「ブロック要素 → ブロック要素 → インライン要素」が内包されています。

    中の要素たちは、均等な間隔に配置されました。

    justify-contentプロパティ

    justify-contentプロパティは、flex要素内の横並びの配置を指定できます。

    ※flex-directionプロパティの値によっては縦並びの配置になります。

    〜 justify-contentの値の種類 〜

    center

    flex要素内のアイテムを中央へ寄せます。

    flexボックスjustify-content:flex-centerのイメージ
    flex-start

    flex要素内のアイテムをへ寄せます。
    デフォルトの設定です。

    flexボックスjustify-content:flex-startのイメージ
    flex-end

    flex要素内の要素をへ寄せます。

    flexボックスjustify-content:flex-endのイメージ
    space-between

    flex要素内のアイテムを等間隔に配置します。
    行の1番目と最後の要素は、一番端に配置されます。

    flexボックスjustify-content:justify-betweenのイメージ
    space-evenly

    flex要素内のアイテムを等間隔に配置します。
    行の1番目と最後の要素は、端からスペースを空けて配置されます。
    端・要素間の余白は均等なサイズです。

    flexボックスjustify-content:space-evenlyのイメージ
    space-around

    flex要素内のアイテムを等間隔に配置します。
    行の1番目と最後の要素は、端からスペースを空けて配置されます。
    要素間の余白は両端の余白の2倍のサイズです。

    flexボックスjustify-content:space-aroundのイメージ

    【 justify-contentの関連記事 】

    リンク先のトップ画像

    【コード例4】フレックスボックスの中に子要素 + 縦並び指定

    【 HTML 】

    値 inline-flex は、インライン要素とフレックスボックスの特徴を持

    【 CSS 】

    ブラウザで実行するとこんな感じです。

    フレックスボックスの中に、「ブロック要素 → ブロック要素 → インライン要素」が内包されています。

    中の要素たちは、縦並びとなりました。

    flex-directionプロパティ

    flex-directionプロパティは、flex要素内のアイテムの並び順や方向を指定できます。

    〜 flex-directionの値の種類 〜

    row

    flex要素内のアイテムを左から右の方向へ並ばせます。
    デフォルトで設定されます。

    flexボックスflex-direction:row;のイメージ
    row-reverse

    flex要素内のアイテムを右から左の方向へ並ばせます。

    flexボックスflex-direction:row-reverse;のイメージ
    column

    flex要素内のアイテムを垂直に上から下の方向へ並ばせます。
    justify-contentが垂直align-itemsが水平への設定プロパティに変化します。

    flexボックスflex-direction:column;のイメージ
    column-reverse

    flex要素内のアイテムを垂直に下から上の方向へ並ばせます。
    justify-contentが垂直align-itemsが水平への設定プロパティに変化します。

    flexボックスflex-direction:column-reverse;のイメージ

    【 flex-directionの関連記事 】

    リンク先のトップ画像

    CSS
    プロパティ
    display:inline-flex

    display:inline-flexとは

    値 inline-flex は、インラインフレックス要素の指定です。

    〜 インラインフレックス要素のイメージ 〜

    inline-flexのイメージ

    〜 インラインフレックス要素の特徴 〜

    • 自身が内包する子要素を横並びにさせることができる。
       → flex-direction:column;を指定することで縦並びにもできます。
    • フレックスボックス関連プロパティによって、子要素の配置や改行なども指定できる。
    • (インライン要素と同様)前後は改行されない。行の一部分なイメージ。
       → ただし、状況によっては改行される。
    • (インライン要素と同様)横幅は、内容に合わせた幅。
       → ただし、widthプロパティで指定した場合、その指定に従う。
    • (ブロック要素と同様)ブロック用のCSSプロパティが使え、柔軟性が高くなる。
       → プロパティ例:width、height、margin、padding

    〜 display:inline-flexの書き方 〜

    セレクタ {
        display: inline-flex;
        その他スタイル...
    }

    【フレックスボックスの関連記事】

    リンク先のトップ画像

    【コード例1】インライン要素 → インラインフレックス → インライン要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    隣接したインライン要素とインラインフレックスは横並びとなりました。

    【コード例2】インラインフレックスの中に、複数の子要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    インラインフレックスの中に、「ブロック要素 → ブロック要素 → インライン要素」が内包されています。

    中の要素たちは、ブロック要素も合わせて横並びとなりました。

    【コード例3】インラインフレックスの中に子要素 + 縦並び指定

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    インラインフレックスの中に、「ブロック要素 → ブロック要素 → インライン要素」が内包されています。

    中の要素たちは、縦並びとなりました。

    flex-directionプロパティ

    flex-directionプロパティは、flex要素内のアイテムの並び順や方向を指定できます。

    〜 flex-directionの値の種類 〜

    row

    flex要素内のアイテムを左から右の方向へ並ばせます。
    デフォルトで設定されます。

    flexボックスflex-direction:row;のイメージ
    row-reverse

    flex要素内のアイテムを右から左の方向へ並ばせます。

    flexボックスflex-direction:row-reverse;のイメージ
    column

    flex要素内のアイテムを垂直に上から下の方向へ並ばせます。
    justify-contentが垂直align-itemsが水平への設定プロパティに変化します。

    flexボックスflex-direction:column;のイメージ
    column-reverse

    flex要素内のアイテムを垂直に下から上の方向へ並ばせます。
    justify-contentが垂直align-itemsが水平への設定プロパティに変化します。

    flexボックスflex-direction:column-reverse;のイメージ

    【 flex-directionの関連記事 】

    リンク先のトップ画像

    CSS
    プロパティ
    display:none

    display:noneとは

    値 none は、非表示の指定です。

    display:noneに設定した要素は、非表示状態となって無くなります。

    CSSの@mediaや擬似クラス、JavaScriptなどで使うことがあります。

    〜 display:noneの書き方 〜

    セレクタ {
        display: none;
        その他スタイル...
    }

    【コード例】要素 → 非表示 (none) → 要素

    【 HTML 】
    【 CSS 】

    ブラウザで実行するとこんな感じです。

    "display:none;" を指定した "非表示要素"が表示されません

    まとめ

    • displayプロパティは、要素に対する種類や表示方法を指定できる。
    • 値 inline:インライン要素の指定。
    • 値 block:ブロック要素の指定。
    • 値 inline-block:インライン要素とブロック要素の特徴を持つインラインブロック要素の指定。
    • 値 flex:フレックスボックスの指定。
    • 値 inline-flex:インラインフレックス要素の指定。
    【 2025/08/16 19:30 更新 】