Webページのレイアウトを整える上で欠かせないのが、CSSの「display」プロパティです。中でも「display: block」は非常によく使われる基本的な指定ですが、意外とその正確な意味や使いどころを知らない人も多いかもしれません。この記事では、「display: block」が何を意味し、どんな場面で使うのか、どんな挙動をするのかを初心者でもわかりやすく解説します。また、実際のコード例を交えて、効果的な使い方や注意点についても詳しく紹介します。CSSの理解を深めたい方、Web制作の基本をおさらいしたい方におすすめの内容です。
「display: block」は、CSSのdisplay
プロパティの一つで、要素を「ブロックレベル要素」として表示する指定です。ブロックレベル要素は、基本的に縦に積み重なり、横幅は親要素いっぱいに広がる性質を持っています。
例えば、HTMLの<div>
や<p>
タグは、デフォルトでブロックレベル要素として扱われています。これに対して、<span>
や<a>
タグなどはインライン要素と呼ばれ、横に並ぶのが基本です。こうした要素に対してdisplay: block
を指定すると、ブロックのように振る舞うようになります。
CSSでdisplay: block
を使う基本形は以下の通りです。
.example {
display: block;
}
この指定をすることで、該当する要素がブロックレベルとして表示されます。例えば、インライン要素である<a>
タグに適用してみましょう。
<a href="#" class="example">リンク</a>
.example {
display: block;
background-color: lightblue;
padding: 10px;
}
このようにすることで、リンクが横いっぱいに広がり、ボックスのような見た目になります。
display: block
には以下のような特性があります。
これにより、レイアウトの構築がしやすくなります。例えば、ナビゲーションメニューやカードレイアウトなどを作る際には、display: block
の挙動がとても役立ちます。
<a>
や<span>
などのインライン要素をボックスのように見せたいときに使います。これにより、背景色やパディング、幅などをコントロールできるようになります。
nav a {
display: block;
padding: 10px;
background-color: #eee;
}
フォームで入力欄とラベルを縦に並べたいときなどにも有効です。
label {
display: block;
margin-bottom: 5px;
}
独自タグやカスタムHTML要素に対して、ブロックの挙動を付けたいときにも使います。
my-component {
display: block;
padding: 20px;
}
特徴 | display: block | display: inline |
---|---|---|
横幅 | 親要素に広がる | 内容に合わせる |
高さ | 指定できる | 高さは無視される |
改行 | 自動で入る | 入らない |
マージン・パディング | 効く | 効きにくい |
このように、display: block
は要素をレイアウトの単位として扱いたいときに適しており、逆にinline
は文字列の一部として並べたいときに向いています。
要素を無理にブロック表示すると、意図せず改行が入ってデザインが崩れることがあります。たとえば、複数のリンクを横に並べたい場合はdisplay: inline-block
を使うほうが適しています。
最近はdisplay: flex
やdisplay: grid
も多用されますが、これらとは目的が異なります。display: block
は「ひとつの要素がブロックとして存在すること」が目的であるのに対し、flex
やgrid
は「要素同士の配置」が主な目的です。
以下のようなプロパティは、display: block
と特に相性が良く、デザインを調整するのに役立ちます。
width
height
margin
padding
background
border
これらを活用することで、ブロック要素を思い通りにレイアウトできます。
<div class="card">
<h2>記事タイトル</h2>
<p>ここに記事の概要が入ります。</p>
</div>
.card {
display: block;
border: 1px solid #ccc;
padding: 15px;
margin: 10px 0;
background-color: #f9f9f9;
}
このように、div
にdisplay: block
を明示的に指定することで、独立したカード風のレイアウトを実現できます。
display: block
は、HTML要素の表示形式をブロックレベルに変えるための基本的なプロパティです。特に、インライン要素をボックスのように扱いたい場面や、レイアウトの基礎を作る際に非常に便利です。CSSを扱う上で避けては通れない重要な指定なので、しっかりと特性や違いを理解しておくことで、より自由で整ったWebデザインが可能になります。
これからCSSを学び始める方も、もう一度基本に立ち返りたい方も、ぜひこの機会に「display: block」をしっかり身につけておきましょう。