HTMLでいろいろ中央ぞろえ

この記事は約4分で読めます。
スポンサーリンク

やりたいこと

HTMLでよく使って簡単そうなのに何気に難しい中央ぞろえの方法をまとめます。

スポンサーリンク

前準備

まずは中央ぞろえしたいタグが何者かを確認します。

だいたい以下の2個のうちどちらかだと思います・

どちらかのタグを中央ぞろえするかにより実装方法が異なります。

コンテンツ

テキストや画像など

ブロック

複数のコンテンツを含む領域

例:divなどで宣言される

例にタグを挙げていますが、displayスタイルで変更が可能です。

そのためdivだったら必ずblockというわけではありません。

スポンサーリンク

実装

コンテンツ

横方向

親のタグにtext-align:centerのスタイルを指定します。

下の例のようにspanやimgに設定するのではないので注意してください。

またこのスタイルは親ブロックの中央に表示するスタイルなので親のブロック(下の例ではdiv)を画面中央に表示するか100%の幅で表示する必要があります。

<div style ="text-align:center;width:100%">
 <span>aaaaa</span>
 <img src="img.jpg">
</div>

実行例:imgは消してます

aaaaa

縦方向

親のタグにalign-content: centerのスタイルを指定します。

下の例のようにspanやimgに設定するのではないので注意してください。

またこのスタイルは親ブロックの中央に表示するスタイルなので親のブロック(下の例ではdiv)を高さを指定する必要があります。

<div style ="align-content:center;height:500px">
 <span>aaaaa</span>

</div>

実行例:imgは消してます

aaaaa

ブロック

横方向

中央ぞろえするタグにmargin: 0 autoのスタイルを指定します。

(わかりやすいようにdivの背景を黄色にしています。)

<div style ="margin: 0 auto; width:100px; background-color:yellow">
 <span>aaaaa</span>
 <img src="img.jpg">
</div>

実行例:imgは消してます。

aaaaa

縦方向

ちょっとめんどくさいですが以下のようにしました。

(わかりやすいようにdivの背景を黄色、親のdivの背景を赤にしています。)

<div style="height:300px;background-color:red;position: relative;">

<div style="background-color:yellow;position: absolute;height:50%;top: 0;bottom: 0;margin: auto;">
 <span>aaaaa</span>
</div>

</div>

実行例:imgは消してます

aaaaa
スポンサーリンク

結果

HTMLで中央ぞろえをすることができました。

おまけ

ドキュメントのヘッダ用ように 左詰め 中央ぞろえ 右詰め となるコードを紹介します。

<div style="display:inline-block; width:30%;text-align:left">left</div><div style="display:inline-block; width:40%;text-align:center">center</div>
<div style="display:inline-block; width:30%;text-align:right">right</div>

実行例:(leftとrightの背景色を変えています。)

left
center
right

コメント

タイトルとURLをコピーしました