4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ブロック要素も垂直方向に中央寄せできる `align-content`

Posted at

この記事はなに?

インライン要素の垂直方向の配置には vertical-align プロパティが使えますが、ブロック要素には適用できませんでした。

align-content は、 display: grid または display: flex を指定したコンテナ要素内で使用するプロパティとして使われてきました。
2024年以降は、ブロック要素のレイアウトをするためのプロパティとして、主要なブラウザで広くサポートされるようになりました。

この記事では、ブロック要素を中央に配置するための align-content の使い方について説明します。

垂直方向の中央寄せ

以下のHTMLとCSSを使用すると、ブロック要素を垂直方向に中央寄せできます。

<div class="container">
  <p class="text">テキスト</p>
</div>
.container {
  align-content: center;
  height: 240px;
  
  //見やすいように装飾を追加
  background-color: #ccc;
}

出力結果は下記のスクリーンショットのようになります。

垂直方向に中央寄せしているスクリーンショット

水平方向と垂直方向の中央寄せ

テキストだけでなく、ボタンなどブロック要素全体を水平方向と垂直方向の両方で中央寄せしたい場合、 margin: auto プロパティを組み合わせて使用すると、簡単に対応できます。

少し装飾要素を足した状態で、先程のHTMLに css を適応します。

装飾要素を足したcss
.container {
  align-content: center;
  height: 240px;

  //見やすいように装飾を追加
  background-color: #ccc;
}

.text{
  margin: auto;
  width: 200px;

  //見やすいように装飾を追加
  background-color: #eee;
  border-radius: 8px;
  padding: 8px;
}

下記のように出力されました。

中央寄せをしているスクリーンショット

align-content ブロック要素のレイアウトのサポート状況

align-contentdisplay: grid または display: flex を指定したコンテナ要素内で使用するプロパティです。
Chrome、Firefox、Safariなどの主要なブラウザで広くサポートされており、安心して使用できます。

ブロック要素のレイアウトとしてのサポート状況をCan I Use で確認しました。

2025年時点では、Chrome、Firefox、Safariなど主要なブラウザを始め、広く対応していることがわかります。

スクリーンショット 2025-08-26 23.09.20.png

ちなみに一番行数が少なく中央寄せできる方法は、今のところ grid を使う方法だと私は思います。
参考として、過去に書いた記事を紹介します。


この記事が誰かの役に立てば幸いです。

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?