はじめに:Webページの顔となる「表示」をCSSでコントロール!
皆さんは、Webページを閲覧する際、そこに表示される文字や画像、ボタンなどがどのように配置されているのか、意識したことはありますか?
美しく、見やすいWebページの裏側では、CSSという言語を用いて、要素の「表示」に関する設定が緻密に行われています。
その中でも、要素の表示方法を決定づける重要な役割を担うのが、今回ご紹介する「displayプロパティ」です。
本記事では、CSS初心者の方に向けて、displayプロパティの基本的な使い方から、より高度なレイアウトを実現するための応用テクニックまで、豊富なサンプルコードを交えながらわかりやすく解説していきます。
displayプロパティをマスターして、思い通りのWebページ作りを実現しましょう!
1. displayプロパティの基本:ブロックレベル要素とインライン要素
Webページ上の要素は、大きく分けて「ブロックレベル要素」と「インライン要素」の2つに分類されます。displayプロパティを理解する上で、まずはこの2つの違いを押さえておくことが重要です。
1-1. ブロックレベル要素とは?
- pタグ、h1〜h6タグ、divタグなどが代表例
- 初期設定では、要素の前後に改行が入り、新しい行から表示される
- 幅は親要素の幅全体に広がり、高さは内容に応じて自動的に決定される
<h1>見出し</h1>
<p>段落テキスト</p>
上記のコードを実行すると、「見出し」というテキストと「段落テキスト」というテキストが、それぞれ別の行に表示されます。
1-2. インライン要素とは?
- spanタグ、aタグ、imgタグなどが代表例
- 初期設定では、要素の前後に改行が入らず、同じ行に並べて表示される
- 幅と高さは、内容に応じて自動的に決定される
<p>テキスト<span style="color: red;">テキスト</span>テキスト</p>
上記のコードを実行すると、「テキストテキストテキスト」というテキストが表示され、中央の「テキスト」だけ赤色で表示されます。これは、spanタグがインライン要素であるため、他のテキストと同じ行に配置されるためです。
1-3. displayプロパティで表示を切り替える
displayプロパティを使用すると、要素の表示をブロックレベル要素、インライン要素、あるいはそれ以外の表示に変更することができます。
例えば、以下のように記述することで、spanタグをブロックレベル要素として表示することができます。
span {
display: block;
}
2. displayプロパティの主要な値とその使い方
displayプロパティには、要素の表示方法を指定するための様々な値が用意されています。ここでは、その中でも使用頻度の高い主要な値とその使い方について詳しく見ていきましょう。
2-1. block:ブロックレベル要素として表示
.element {
display: block;
}
- 指定した要素をブロックレベル要素として表示します。
- ブロックレベル要素は、初期設定では幅が親要素全体に広がりますが、
width
プロパティで幅を指定することもできます。 - また、
margin
プロパティで上下左右の余白を設定したり、padding
プロパティで内側の余白を設定したりすることも可能です。
2-2. inline:インライン要素として表示
.element {
display: inline;
}
- 指定した要素をインライン要素として表示します。
- インライン要素は、初期設定では幅と高さを指定することができません。
margin
プロパティは左右の余白にのみ適用され、上下の余白は無視されます。
2-3. inline-block:インラインブロックレベル要素として表示
.element {
display: inline-block;
}
- 指定した要素をインラインブロックレベル要素として表示します。
- インラインブロックレベル要素は、インライン要素のように同じ行に並べて表示することができますが、ブロックレベル要素のように
width
プロパティやheight
プロパティで幅と高さを指定したり、margin
プロパティやpadding
プロパティで余白を設定したりすることが可能です。
2-4. none:要素を非表示にする
.element {
display: none;
}
- 指定した要素を非表示にします。
- 非表示になった要素は、画面上から完全に削除された状態になり、スペースも残りません。
3. より高度なレイアウトを実現するdisplayプロパティの応用
3-1. flexboxと組み合わせた柔軟なレイアウト
近年、Webデザインにおいて主流になりつつあるのが、フレキシブルボックスレイアウト、通称「flexbox」です。displayプロパティをflex
に設定することで、要素をフレキシブルボックスのコンテナとして定義し、その子要素を自由自在に配置することができます。
.container {
display: flex;
/* フレキシブルボックスのその他のプロパティを設定 */
}
flexboxを使用することで、従来のCSSでは実現が難しかった、要素の均等な配置や、縦方向の配置などが容易に行えるようになります。
3-2. gridと組み合わせた複雑なレイアウト
flexboxよりもさらに高度なレイアウトを実現するのが、グリッドレイアウトです。displayプロパティをgrid
に設定することで、要素をグリッドコンテナとして定義し、行と列で構成されるグリッドシステム上に子要素を配置することができます。
.container {
display: grid;
/* グリッドレイアウトのその他のプロパティを設定 */
}
gridを使用することで、複雑なレイアウトをよりシンプルかつ直感的に構築することができます。
3-3. レスポンシブ対応で様々な画面サイズに対応
近年、スマートフォンやタブレットなど、様々な画面サイズのデバイスでWebページを閲覧することが当たり前になってきました。そのため、Webページを作成する際には、レスポンシブ対応、つまり異なる画面サイズでも最適な表示になるように設計することが重要です。
displayプロパティは、メディアクエリと組み合わせることで、画面サイズに応じて要素の表示方法を動的に変更することができます。
/* 画面サイズが768px以下の場合 */
@media screen and (max-width: 768px) {
.element {
display: block; /* 画面サイズが小さい場合はブロックレベル要素として表示 */
}
}
/* 画面サイズが768pxより大きい場合 */
@media screen and (min-width: 769px) {
.element {
display: inline-block; /* 画面サイズが大きい場合はインラインブロックレベル要素として表示 */
}
}
4. まとめ:displayプロパティをマスターしてWebデザインの幅を広げよう!
今回は、CSSのdisplayプロパティについて、基本的な使い方から応用テクニックまで詳しく解説してきました。
displayプロパティは、Webページのレイアウトを構築する上で非常に重要な役割を担うプロパティです。本記事で紹介した内容を参考に、ぜひdisplayプロパティを使いこなせるようになり、より魅力的なWebページ作りに挑戦してみてください!
関連記事
-
要素の高さを自由自在に!CSS heightプロパティを使いこなすCSS で要素の高さを指定する方法【 決定版 】!レスポンシブ対応や注意すべき値も! Webページのレイアウトにおいて、要素の高さをコントロールすること
-
【HTML】横並びマスターへの道!CSSで思い通りのレイアウトを実現する方法【HTML】横並びマスターへの道!CSSで思い通りのレイアウトを実現する方法 Webページを作成する際、画像やテキストなどを横並びに配置したい
-
【HTML】要素を真ん中にする方法|初心者でもできる!CSSでのセンタリング完全ガイドはじめに Webページを作成する際、テキストや画像など様々な要素を思い通りに配置したい場面に遭遇するかと思います。その中でも、要素を中央に配置
-
【HTML】右寄せ完全攻略!要素・文字列を自在に操る方法とは?はじめに HTMLでWebページを作成する際、要素を右寄せに配置したい場面は多くありますよね。例えば、 ナビゲーションメニューを右上に配置したい
-
CSS width完全ガイド【初心者もOK】CSS widthプロパティ: 要素の幅を思い通りに操る完全ガイド Webページのデザインにおいて、要素の幅をコントロールすることは、レイアウトや見た