こんにちは、ウェブデザインパレットのmisaです。
Webサイトのデザインにおいて、要素を中央に配置することは頻繁に必要となるテクニックです。
要素を中央寄せにすることは、視覚的なバランスを整え、ユーザーが見やすいレイアウトを作る上で大切です。
特に、見出しやロゴ、画像など、目立たせたい要素を中央に配置することで、デザインに統一感と安定感を与えることができます。
CSSには複数の中央寄せ方法がありますが、今回はその中から5つの主要な方法を紹介します。
水平方向の中央揃え
1. text-align: center
text-align: center
で、インライン要素(テキスト、リンク、画像など)を水平方向に中央に配置します。
- 親要素に
text-align: center
を適用します
<div class="text-center">
<p>テキストの中央寄せ</p>
<a href="#">リンクの中央寄せ</a>
<img src="image.jpg" alt="インライン要素の画像を中央寄せ">
</div>
.text-center {
text-align: center;
}
ブロック要素にtext-align: center
は効かないので注意しましょう。
2. margin-inline: auto
margin-inline: auto
で、固定幅のブロック要素を水平方向に中央に配置します。
width
プロパティで要素の幅を指定しますmargin-inline: auto
で、左右のマージンを自動で計算し、要素を水平方向に中央に配置します
<div class="center-block">
ブロック要素の中央寄せ
</div>
.center-block {
width: 300px;
margin-inline: auto
background-color: #ffa07a;
padding: 20px;
}
margin-inline: auto
の代わりにmargin: 0auto
を使用してもOKです。
水平・垂直両方の中央揃え
3. flexbox
flexbox を使用すると、子要素を水平・垂直両方向に簡単に中央寄せできます。
display: flex
で、親要素をフレックスコンテナにしますjustify-content: center
で、子要素を水平方向に中央に配置しますalign-items: center
で、子要素を垂直方向に中央に配置します
<div class="flex-center">
<div class="flex-item">フレックスボックスで左右上下中央寄せ</div>
</div>
.flex-center {
display: flex;
justify-content: center;
align-items: center;
height: 300px;
background-color: #f0f0f0;
}
.flex-item {
padding: 20px;
background-color: #ffa07a;
}
4. grid
gridでも、子要素を水平・垂直両方向に簡単に中央寄せできます。
display: grid
で、親要素をグリッドコンテナにしますplace-items: center
で、子要素を水平方向と垂直方向の両方に中央に配置します
<div class="grid-center">
<div class="grid-item"> グリッドレイアウトで左右上下中央寄せ</div>
</div>
.grid-center {
display: grid;
place-items: center;
height: 300px;
background-color: #f0f0f0;
}
.grid-item {
padding: 20px;
background-color: #ffa07a;
}
place-items
はalign-items
とjustify-items
のショートハンドプロパティです。
5. positionとtranslate
position
プロパティとtranslate
プロパティで、親要素に対して子要素を絶対的に配置します。
- 親要素を相対配置(
position: relative
)にします - 子要素を絶対配置(
position: absolute
)にし、上下左右の位置を50%に設定します translate
を使用して要素自体のサイズの半分だけ戻すことで、完全に中央に配置します
<div class="position-relative">
<div class="position-absolute-center">
positionとtranslateで左右上下中央寄せ
</div>
</div>
.position-relative {
position: relative;
height: 300px;
background-color: #f0f0f0;
}
.position-absolute-center {
position: absolute;
top: 50%;
left: 50%;
translate:-50% -50%;
padding: 20px;
background-color: #ffa07a;
}
まとめ
今回はCSSで要素を中央寄せにする5つの方法について解説しました。
CSSで要素を中央寄せにする方法は、状況によって異なります。
まずは要素の種類を確認し、その特性に応じて最適な方法を選びましょう。
悩んだときにはこの記事を読み返して、適切な方法を再確認してみてくださいね。
では、また~✨