カテゴリ: CSS 更新日: 2026/04/15

CSSで要素を非表示にする方法!display:noneの使い方と注意点

display: none で非表示にする方法と注意点
display: none で非表示にする方法と注意点

先生と生徒の会話形式で理解しよう

生徒

「先生、CSSで特定の要素を画面に表示させたくない時はどうすればいいですか?」

先生

「その場合は、displayプロパティのnoneを使うと簡単に非表示にできます。」

生徒

「display:noneって聞いたことがあります。でも、どんな影響がありますか?」

先生

「display:noneは、その要素を完全に消すので、画面上だけでなくHTML上のスペースもなくなります。注意点を含めて詳しく見ていきましょう。」

1. display:noneで要素を非表示にする方法

1. display:noneで要素を非表示にする方法
1. display:noneで要素を非表示にする方法

CSSの「display:none」は、指定したHTML要素をブラウザの画面上から完全に取り除く設定です。単に見えなくなるだけでなく、その要素が占めていたスペースも詰められるため、まるで最初からその場所に何もなかったかのようなレイアウトになります。

プログラミング未経験の方でも直感的に使いやすく、例えば「特定のボタンを押した時だけメニューを出す」といった動的なWebサイトを作る際によく活用されます。まずは、基本となる書き方を確認してみましょう。特定のクラスに対して display: none; を指定するだけで、その要素を消し去ることができます。


<style>
    /* 通常の表示 */
    .visible-box {
        background-color: #e0f7fa;
        padding: 15px;
        border: 2px solid #00acc1;
        margin-bottom: 10px;
    }

    /* display:none を適用した非表示の要素 */
    .hidden-box {
        display: none;
        background-color: #ffebee;
        padding: 15px;
        border: 2px solid #e53935;
    }
</style>

<div class="visible-box">
    <i class="bi bi-info-circle"></i> このボックスは表示されています。
</div>

<div class="hidden-box">
    <i class="bi bi-exclamation-triangle"></i> このボックスは display:none が設定されているため、表示されません。
</div>

<p>
    <i class="bi bi-arrow-up"></i> 上記の2つのボックスの間に本来はあるはずの赤いボックスが、跡形もなく消えているのがわかります。
</p>
ブラウザ表示

上記のコード例では、2つのdivタグを記述していますが、画面には青いボックスしか表示されていません。display:noneを指定した赤いボックス(hidden-box)は、高さや幅の情報も無視され、後続のテキストが上に詰められています。

このプロパティは、レスポンシブデザイン(スマホとパソコンで表示を切り替える手法)でも頻繁に使用されます。例えば「スマホではこの画像を出さない」といった制御が、CSS1行で簡単に行えるのが大きなメリットです。

2. display:noneとvisibility:hiddenの違い

2. display:noneとvisibility:hiddenの違い
2. display:noneとvisibility:hiddenの違い

非表示にする方法はdisplay:noneだけではありません。visibility:hiddenも使えますが違いがあります。visibility:hiddenは要素を見えなくしますが、スペースはそのまま残ります。display:noneは要素自体の存在を画面から消すので、周りのレイアウトに影響を与えます。


<style>
    .invisible-box {
        visibility: hidden;
        background-color: lightblue;
        width: 200px;
        height: 50px;
        text-align: center;
        line-height: 50px;
    }
</style>

<div class="invisible-box">見えませんがスペースは残ります</div>
<p>この文章はボックスの下に表示されます。</p>
ブラウザ表示

display:noneとvisibility:hiddenの使い分けは、レイアウトに影響を与えるかどうかで判断すると分かりやすいです。

3. display:noneを使う際の注意点

3. display:noneを使う際の注意点
3. display:noneを使う際の注意点
  • 非表示にした要素は画面上に存在しないため、クリックやスクロールなどの操作はできません。
  • 検索エンジン(Googleなど)ではdisplay:noneの内容を読み取ることがありますが、重要なコンテンツを隠すとSEO評価に影響する可能性があります。
  • JavaScriptと組み合わせる場合、display:noneの要素を再表示するにはdisplay:blockやdisplay:inline-blockなどを指定する必要があります。
  • アニメーションで非表示にしたい場合は、opacityやtransformなどの別手法も検討することがあります。

非表示の扱い方を理解することで、モーダル表示、タブ切り替え、ボタンの表示制御など、ウェブページの動的なデザインが簡単に作れるようになります。

4. display:noneの実践例:ボタンで切り替える

4. display:noneの実践例:ボタンで切り替える
4. display:noneの実践例:ボタンで切り替える

例えば、ボタンをクリックしてテキストを非表示・表示する場合、JavaScriptと組み合わせてdisplay:noneを切り替えることが多いです。こうすることで、ページの見た目を整えつつ、必要に応じて要素を表示できます。


<style>
    .toggle-box {
        display: none;
        background-color: #f0e68c;
        width: 200px;
        height: 50px;
        text-align: center;
        line-height: 50px;
        margin-bottom: 10px;
    }
</style>

<button id="toggleBtn">表示・非表示切替</button>
<div class="toggle-box" id="toggleBox">切替対象のボックス</div>

<script>
    const btn = document.getElementById("toggleBtn");
    const box = document.getElementById("toggleBox");
    btn.addEventListener("click", function() {
        if(box.style.display === "none") {
            box.style.display = "block";
        } else {
            box.style.display = "none";
        }
    });
</script>
ブラウザ表示

この方法を覚えておくと、動的に要素を表示・非表示できるので、ユーザーインターフェースを工夫する幅が広がります。

5. レスポンシブデザインでのdisplay:none活用術

5. レスポンシブデザインでのdisplay:none活用術
5. レスポンシブデザインでのdisplay:none活用術

最近のWebサイト制作において、display:noneが最も活躍するのが「レスポンシブデザイン」です。これは、パソコンとスマートフォンで表示する内容を切り替える手法です。

例えば、「パソコンでは横に長い大きな画像を見せたいけれど、画面の小さなスマホでは文字が潰れてしまうので非表示にしたい」といった場合に非常に便利です。特定の画面サイズ(ブレイクポイント)になった時だけdisplay:noneを適用することで、ユーザーにストレスを与えない最適なレイアウトを提供できます。


<style>
    /* パソコンで見える大きな画像(スマホでは隠す) */
    .pc-only-banner {
        background-color: #e3f2fd;
        padding: 20px;
        border: 2px solid #2196f3;
        text-align: center;
    }

    /* 画面幅が600px以下(スマホ想定)の場合の設定 */
    @media (max-width: 600px) {
        .pc-only-banner {
            display: none;
        }
    }
</style>

<div class="pc-only-banner">
    <i class="bi bi-laptop"></i> PCで見るとこの大きなバナーが表示されます。
</div>

<p>ブラウザの幅を狭めていくと、上記の青いバナーが消えるのがわかります。これがレスポンシブデザインの基本です。</p>
ブラウザ表示

ただし、あまりに多くの要素をdisplay:noneで隠すと、ページの読み込み速度に影響が出る場合があります。本当に隠すべきかどうか、ユーザーの利便性を考えて使い分けましょう。

6. display:noneとアクセシビリティ(読み上げ機能)

6. display:noneとアクセシビリティ(読み上げ機能)
6. display:noneとアクセシビリティ(読み上げ機能)

Webサイトを作る上で忘れてはならないのが、視覚障害を持つ方が利用する「スクリーンリーダー(音声読み上げソフト)」への対応です。これをアクセシビリティと呼びます。

重要なポイントとして、display:noneを指定した要素は、スクリーンリーダーでも読み上げられないという性質があります。つまり、画面から消えるだけでなく、音声ブラウザを利用しているユーザーにとっても「存在しないもの」として扱われます。

もし、「画面上には出したくないけれど、音声では情報を伝えたい(例:アイコンボタンの意味など)」という場合は、display:noneではなく、要素を画面の外に飛ばすCSSテクニックなどを使う必要があります。用途に合わせて、正しく使い分けることがプロへの第一歩です。

7. display:noneを使いこなそう

7. display:noneを使いこなそう
7. display:noneを使いこなそう

今回学習した「display:none」は、要素を完全に消去してレイアウトを詰める、非常に強力なプロパティです。visibility:hiddenとの違いや、JavaScriptとの連携、レスポンシブ対応など、活用できる場面は多岐にわたります。

今回のポイント

  • display:noneは要素もスペースも完全に消し去る
  • レイアウトを残したい時はvisibility:hiddenを使う
  • スマホ対応や動的なギミック(メニュー開閉など)に必須の技術
  • SEOやアクセシビリティへの影響を理解して正しく使う

これらの基本をしっかり押さえておくことで、初心者から一歩抜け出した、より高度で使い勝手の良いWebサイト制作ができるようになります。まずは簡単なボタンの切り替えから練習を始めてみてくださいね。

2026年最新 スキルアップ・実践セミナー

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

「魅せる力」をコードで実現。CSS3でモダンWebデザインのプロトタイピングを。

本講座では、単に色を変えるだけではなく、「ユーザーを迷わせないUIデザイン」「崩れないレイアウト設計」の本質を学びます。最新のCSS3とモダンなレイアウト手法を通じて、プロの現場で通用する「美しさと機能性を両立した実装力」を最短距離で習得します。

具体的なワークショップ内容と環境

【つくるもの】
HTMLで作成した骨組みに対し、商用サイトでも採用される「スタイリッシュなカード型UI」や「レスポンシブなナビゲーション」を構築します。色の選定基準や余白(ホワイトスペース)の黄金比など、デザインの理論をコードに落とし込む工程を体験してください。

【開発環境】
フロントエンド開発の標準であるVisual Studio Code (VS Code)を継続使用。CSSの記述を効率化するプラグインや、ブラウザのデベロッパーツール(検証機能)を駆使して、リアルタイムでデザインを微調整するプロのワークフローを再現します。

この60分で得られる3つの技術資産

1. 現代のデファクトスタンダード「Flexbox」

要素の横並びや中央揃えを自由自在に操り、どんなデバイスでも崩れないレスポンシブな配置術を完全理解します。

2. メンテナンス性を高めるCSS設計の基礎

後から修正しやすい「壊れにくいコード」の書き方を伝授。プロの現場で必須となる命名規則の考え方を学びます。

3. パフォーマンスと美しさの両立

画像の最適化や軽量な装飾技法など、ページの表示速度を落とさずに高級感のある演出を行うテクニックを習得します。

※本講座は、HTMLの基礎を終えた後のステップアップ講座です。Webデザイナー、UIデザイナー、フロントエンドエンジニアへの道を切り開く「魅せる技術」を、モクモク独自のパーソナル指導で着実に定着させます。

【60分集中】Flexboxを完全攻略!最新CSS3で「崩れない・迷わない」モダンUI構築セミナー

リラックスしながら、学ぶことが大切です。しっかりと基礎を理解しましょう!

各回少人数・マンツーマン形式で徹底サポート

このセミナーの詳細・お申し込みはこちら
カテゴリの一覧へ
新着記事
New1
Bootstrap
Bootstrapのナビゲーションバーを固定する方法!初心者でもわかるスターターテンプレートと重なり対策
New2
Bootstrap
Bootstrapで作るログイン画面!初心者でもできる中央寄せ・バリデーション・アイコン表示付き
New3
Bootstrap
Bootstrap5スターターテンプレート完全入門|コピペでOK・CDN版最小構成を初心者向けにやさしく解説
New4
CSS
CSSで要素を非表示にする方法!display:noneの使い方と注意点
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSのselectionを完全ガイド!選択範囲の背景色と文字色をカスタマイズ
No.2
Java&Spring記事人気No2
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.3
Java&Spring記事人気No3
CSS
CSSのvalidとinvalidの使い方を完全ガイド!バリデーション状態を表現する方法
No.4
Java&Spring記事人気No4
HTML
HTML navタグの正しい使い方を完全解説!初心者でも迷わない囲む範囲の判断基準
No.5
Java&Spring記事人気No5
CSS
CSSの透明度を完全解説!初心者にもわかるopacityとrgbaの使い方
No.6
Java&Spring記事人気No6
Bootstrap
Bootstrapツールチップ・ポップオーバーをきれいに配置する完全ガイド|placementと自動配置をやさしく解説
No.7
Java&Spring記事人気No7
Bootstrap
Bootstrap 5 のカラーと背景色を完全ガイド!初心者向け色の使い分け解説
No.8
Java&Spring記事人気No8
CSS
CSSの擬似要素beforeとafterを完全ガイド!初心者でもわかる装飾テクニック