displayプロパティとは何か
displayプロパティの基本概念と役割
CSS の display プロパティは、HTML 要素の表示方法を制御するための重要なプロパティです。この設定を適切に使うことで、要素がページ内でどのように配置され、どのように他の要素と関係するのかを細かく調整できます。初心者の方にとっても必須の知識で、理解しておくとレイアウト設計が格段にやりやすくなります。
HTML要素のデフォルトの表示形式(ブロック/インライン)
HTML 要素には、最初から設定されている表示形式があり、多くは次の2つに分類されます。
● ブロック要素
(例:<div>, <p>, <h1>〜<h6> など)
・横幅は基本的に100%
・縦方向に積み重なる(改行される)
● インライン要素
(例:<span>, <a>, <strong> など)
・内容に応じて幅が決まる
・横方向に並ぶ
display プロパティを使うことで、これらのデフォルトの表示形式を自由に変更できます。
CSSで display プロパティを設定する方法
display は CSS ファイル、または HTML の style 属性で指定できます。
セレクタ {
display: 値;
}
例:ブロック要素として表示したい場合
div {
display: block;
}
例:リストを横並びにしたい場合
li {
display: inline;
}
このように、要素の見た目や配置を柔軟に調整できるのが display プロパティの魅力です。
よくある疑問:display プロパティ使用時の注意点
初心者がつまずきやすいポイントは以下の通りです。
● 意図しないレイアウト崩れ
ブロック要素に display: inline; を設定すると、要素の横幅・高さが内容依存になり、思った通りのサイズにならないことがあります。
● インライン要素の「隙間」
インライン要素を横に並べたとき、不要な空白が入ることがあります。
→ 多くの場合、HTML の改行やスペースが原因。
● display: none の扱い
display: none; を使うと要素は完全に非表示になりますが、DOM から削除されるわけではありません。JavaScript で再表示することも可能です。
これらを理解しておくと、「display の基本」をしっかり掴むことができます。
主要な display 値と使い方
display: block の特徴と使用例
ブロック要素は常に新しい行から始まり、縦方向に積み上がります。親要素の横幅いっぱい(100%)を占めるのも特徴です。
<div>このコンテンツはブロック要素です</div>
<div>次のブロック要素は下に続きます</div>
display: inline の特徴と使用例
インライン要素は横方向に並び、幅や高さは内容に応じて決まります。
<span>これはインライン要素です。</span>
<span>隣のテキストと並んで表示されます。</span>
ただし、上下の余白(margin/padding)を扱いにくい点には注意が必要です。
display: inline-block の特徴と使用例
インラインのように横並び
+
ブロック要素のように幅・高さを指定できる
両方の特徴を兼ね備えた便利な表示形式です。
<span class="box">ボックスA</span>
<span class="box">ボックスB</span>
display: none の使用例
要素自体を完全に非表示にします。
<p style="display:none;">このテキストは表示されません。</p>
条件付きの表示切り替えなど、UI 制御でよく使用されます。
フレックスやグリッドでの display の応用
display: flex の特徴
横並び・縦並びの調整が簡単にできる柔軟なレイアウト。
nav {
display: flex;
justify-content: space-between;
align-items: center;
}
display: grid の特徴
行と列を自由にレイアウトできる2次元のレイアウト方式。
.wrapper {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
display の組み合わせで複雑なデザインを作るコツ
・全体レイアウト → display: grid
・部分レイアウト → display: flex
・細かい調整 → inline-block
・非表示 → display: none
用途ごとに組み合わせることで、複雑なレイアウトでも効率よく構築できます。
display プロパティを選ぶ際の判断基準
- 縦に積むなら → block
- 横に並べるなら → inline / inline-block / flex
- 幅・高さを指定したいなら → block / inline-block / flex
- 非表示にしたいなら → none
要素の役割を考えながら選ぶと、レイアウトがスムーズになります。
実際のレイアウトでの display の活用例
- メニューを横並び →
display: inlineordisplay: flex - ボタンを整列 →
inline-block - モバイルだけ非表示 →
display: none - 写真ギャラリー →
display: grid
よくあるエラーと解決方法
● インライン要素に margin / padding が効かない
→ display: inline-block に変更
● 予期せぬ余白ができる
→ インライン要素間の改行を確認
● ブロック要素が思ったより大きい
→ CSSリセットを利用 or margin の確認
display を実践的に学ぶ練習方法
- ナビメニューを作る
- 写真ギャラリーを grid で作る
- PC とスマホで表示切り替えをしてみる
- flex を使ったヘッダーを作る
こうした小さな制作を繰り返すことで、自然と display の理解が深まります。

コメント