カテゴリ: CSS 更新日: 2026/03/24

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を指定すると、指定した要素は画面上から完全に消えます。これは「非表示」にする方法の中でも最も強力です。通常、不要な広告や一時的なコンテンツ、モーダルウィンドウを表示・非表示する時に使われます。


<style>
    .hidden-box {
        display: none;
        background-color: lightcoral;
        width: 200px;
        height: 50px;
        text-align: center;
        line-height: 50px;
    }
</style>

<div class="hidden-box">このボックスは非表示です</div>
<p>この下の文章は表示されます。</p>
ブラウザ表示

上記の例では、divのボックスはdisplay:noneで画面上に表示されません。HTML上には存在していますが、目に見えず、他の要素がその場所を占めます。

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
CSS
CSSのline-heightで読みやすさアップ!初心者でも簡単にできる行間の調整方法
New2
CSS
CSSのフォントファミリー指定を完全解説!初心者でも分かるおすすめ書体の使い方
New3
Bootstrap
Bootstrapポップオーバー入門!data-bs-toggle="popover"とtitle・contentを完全解説
New4
Bootstrap
Bootstrapでカードグリッドのギャラリーを作ろう!初心者でもわかるgapと等高カラムのスターターテンプレート
人気記事
No.1
Java&Spring記事人気No1
CSS
CSSで要素のサイズを自動調整!autoとfit-contentの使い方
No.2
Java&Spring記事人気No2
CSS
CSSのダブルボーダーや点線・破線を完全ガイド!初心者でもわかるdotted・dashed・doubleの使い方
No.3
Java&Spring記事人気No3
HTML
HTML iframeタグの使い方|外部ページ埋め込みの基本を初心者向けに解説
No.4
Java&Spring記事人気No4
Bootstrap
Bootstrap 5ボタン入門:.btn・.btn-primaryの種類とサイズ・形を初心者向けに完全解説
No.5
Java&Spring記事人気No5
CSS
CSSでテキストの折り返しを完全解説!初心者でもわかる基本と注意点
No.6
Java&Spring記事人気No6
CSS
CSSのスクロール可能なボックスを作る方法!初心者でもわかるoverflowとheightの使い方
No.7
Java&Spring記事人気No7
Bootstrap
ASP.NET/BlazorでのBootstrap 5設定方法を完全ガイド!初心者向けレイアウトと静的ファイル管理
No.8
Java&Spring記事人気No8
Bootstrap
Bootstrapのテーブル固定ヘッダー完全ガイド!position: stickyとoverflowの実用レシピ