display プロパティは、レイアウトを制御するための最も重要な CSS プロパティです。
display プロパティは、要素を表示するかどうか、表示する場合はどのように表示するかを指定します。
すべての HTML 要素は、要素の種類に応じて、デフォルトの display 値を持っています。
ほとんどの要素におけるデフォルトの display 値は、block または inline です。
クリックするとパネルを表示します
このパネルには、デフォルトで非表示の <div> 要素が含まれています (display: none)。
これは CSS でスタイルされていますが、それを表示するのに JavaScript を使用します((display: block) に変更する)。
ブロックレベル要素は、常に新しい行で始まり、可能な限り幅全体に広がります(左右に引伸ばせるだけ引伸ばされます)。
ブロックレベル要素の例:
インライン要素は、新しい行では開始せず、必要なだけの幅しかとりません。
This is an inline <span> element inside a paragraph.
インライン要素の例:
display: none; は、一般的に、JavaScript を使用して要素を削除や再作成せずに、隠したり表示したり
するために使われます。これを実現する方法を知りたければ、このページの最後の例を見てください。
<script> 要素は、デフォルトとして display: none; を使用します。
前述の通り、すべての要素はデフォルトの display 値を持っています。しかし、これをオーバーライドすることができます。
インライン要素をブロック要素に、またはその逆に変更することは、 ページの外観を指定の方法で変更するのを便利にできると共に、web 標準に従うものです。
一般的な例としては、インライン <li> から横向きのメニューを作ることです:
![]() |
注: 要素の display プロパティの設定は、それがどのような種類の要素であるかではなく、 要素をどのように表示するかだけを変更します。 従って、display:block に設定されたインライン要素は、その内部にブロック要素を持つことができません。 |
|---|
次の例は、ブロック要素として <span> 要素を表示します:
display プロパティを none に設定することで、要素を非表示にすることができます。
要素は非表示になり、要素はそこに無かったようにページが表示されます:
visibility:hidden; も、要素を非表示にします。
しかし、要素は表示した場合と同じスペースを取ります。要素は見えませんが、レイアウトには影響が残ります:

display: none; 対 visibility: hidden;
この例は、display: none; 対 visibility: hidden; のデモです。
コンテンツを表示するため JavaScript と共に CSS を使う
この例は、クリック時にコンテンツを表示するため JavaScript と共に CSS を使用する方法のデモです。
Exercise 1 ❯ Exercise 2 ❯ Exercise 3 ❯ Exercise 4 ❯
| プロパティ | 説明 |
|---|---|
| display | 要素をどのように表示するかを指定する |
| visibility | 要素を表示するかどうかを指定する |