DARKMODE

POST

2026.08.10ライフスタイルに溶け込む無印良品のワイヤレスヘッドホン「MUJI−MH1」をレビュー
2026.05.11解像度が高すぎる「ぬースト」10周年記念の「初音ミク」をレビュー
2026.05.06ころんと丸いフォルムが魅力のデスクトップスピーカー「Creative Pebble V3」をレビュー
2026.05.01デスク環境を徹底的に整える!Pixioの「AC&USB TAP COMPACT」卓上充電器をレビュー
2026.04.23打鍵感に感動するコトコト系テンキー「EPOMAKER EK21」をレビュー
VIEW MORE

MENU

ALL POSTS
KNOWLEDGE
ABOUT
CONTACT

WORKS

COMMUNITY

SEARCH

  • イロイロデザインラボラトリ

  • PORTFOLIO
  • COMMUNITY
  • CONTACT

どっちをいつ使う?visibility: hidden;とdisplay: none;の違いと適切な使い方

公開:2023年9月22日
ARCHIVES/KNOWLEDGE/WEB DESIGN

visibility: hidden;とdisplay: none;はどちらも要素を表示しないようにするプロパティですが、それぞれ意味が違います。

どっちでもええやん…と思って適当にやっていると思わぬ落とし穴にはまってしまうこともあったり、SEOやセキュリティにも影響してくるので、意味を理解してから使うようにしておきましょう!

CONTENTS

  • サンプルコード
  • visibility: hidden;
  • display: none;
  • さいごに

サンプルコード

まずはそれぞれのサンプルコードを見てみましょう。

<ul>
  <li>1st</li>
  <li>2nd</li>
  <li>3rd</li>
</ul>

SCSSはこちら。

ul {
  li {
    &:nth-child(2) {
      visibility: hidden;
    }
    &:nth-child(3) {
      display: none;
    }
  }
}

シンプル過ぎて分かりにくいかもしれませんが、<li>の2番めの「2nd」と書いてある部分はvisibility: hidden;で見えなくなっていて、3番めの「3rd」と書いてある部分はdisplay: none;で見えなくなっています。

See the Pen
visibility: hidden;とdisplay: none;の違い
by イロイロデザインラボラトリ (@iroirodesignlab)
on CodePen.

どちらも「見えなくなっている」という点では同じですね。

では、それぞれを詳しく解説していきますよー!

visibility: hidden;

visibility: hidden;は「存在はしてるけど隠している」という状態にするプロパティです。

ブラウザのデベロッパーツールで見てみるとこんな感じになってるのが分かりますね。

<ul>
  <li>::marker "1st"</li>
  <li>::marker "2nd"</li>
  <li>3rd</li>
</ul>

CSSが何も指定されてない「1st」と、visibility: hidden;を指定した「2nd」が同じHTMLになっています。

つまり、HTMLとしてはちゃんと出力されているということになるので、SEOとしてはウェブページに存在していると認識されます。

display: none;

次に、display: none;は「そもそも存在していない」状態にするプロパティです。

HTMLとして確認はできますが、display: none;を指定した「3rd」の部分には::markerという疑似要素すら出力されていません。

<ul>
  <li>::marker "1st"</li>
  <li>::marker "2nd"</li>
  <li>3rd</li>
</ul>

つまり、HTMLの要素としても存在していないため、SEOではウェブページに存在していないと認識されます。

さいごに

というわけで、visibility: hidden;とdisplay: none;の違いがお分かり頂けたかと思います。

これはセキュリティに関しても影響があって、実際にreCAPTCHAのバッジを非表示にするために下記のように書いて、reCAPTCHA自体が動作しなくなったというケースに遭遇したことがあります。

.grecaptcha-badge {
  display: none;
}

これはコーダーの知見の浅さが招いたバッドケースですね。

「hiddenは隠すだけのもの」、「noneは存在させなくするもの」、と覚えておけば、どのシーンでどのプロパティを使うかを判断しやすくなると思います。

どちらも比較的ポピュラーなプロパティなので、ぜひ、覚えておいてくださいね!

MOST POPULAR

TOP FAVORITES

TRENDING NOW

  • ウェブデザイナーがWordPressでブログを始めたほうが良い理由
  • 総額はいくら?フリーランスウェブデザイナーが仕事で使ったお金 2024年バージョン
  • できるだけ低予算で白色を基調にしたワークデスクを作ってみよう
  • ウェブデザイナーのポートフォリオの作り方
  • 現役講師が教えるウェブデザインスクールのメリットとデメリット
  • Googleアラートを使って欲しい情報を効率よく収集する

SHARE

SEARCH

AUTHOR

ウェブデザイナーときどきオンラインスクールで講師をしています。世間話や相談はDiscordからどうぞー。

my13ootleg
ABOUT US
PORTFOLIO
CONTACT

メンターやってます。

COMMUNITY

LATEST POSTS

  • no image ライフスタイルに溶け込む無印良品のワイヤレスヘッドホン「MUJI−MH1」をレビュー
  • no image 解像度が高すぎる「ぬースト」10周年記念の「初音ミク」をレビュー
  • no image ころんと丸いフォルムが魅力のデスクトップスピーカー「Creative Pebble V3」をレビュー
  • no image デスク環境を徹底的に整える!Pixioの「AC&USB TAP COMPACT」卓上充電器をレビュー
  • no image 打鍵感に感動するコトコト系テンキー「EPOMAKER EK21」をレビュー

MOST POPULAR

TOP FAVORITES

CATEGORIES

  • ARCHIVES (113)
  • COLUMN (3)
  • CREATE IT (16)
  • KNOWLEDGE (43)
    • DTP DESIGN (5)
    • MARKETING (2)
    • WEB DESIGN (31)
    • WORDPRESS (6)
  • NOTE (44)
    • REVIEW (16)
  • TECHNIC (10)
    • ILLUSTRATOR (2)
    • PHOTOSHOP (3)
    • VSCODE (5)
  • WORKS (37)
    • CLIENT (30)
    • PRIVATE (7)



HOME › KNOWLEDGE › WEB DESIGN › どっちをいつ使う?visibility: hidden;とdisplay: none;の違いと適切な使い方
© イロイロデザインラボラトリ :)