ZeroPlus Gateについて

\ シェア /

FacBook
Twitter
LINE
はてブ
PPocket
ZeroPlus Media > Web制作 > HTML/CSS > positionとtransformで要素を上下左右中央寄せしよう

positionとtransformで要素を上下左右中央寄せしよう

HTML/CSS

2022/07/23

2026/08/18

positionとtransformで要素を上下中央寄せしよう

今回は、positionプロパティとtransformプロパティを使って要素を上下左右中央寄せする応用のやり方を紹介します。

この方法はWebページにおけるファーストビューなどでよく使用する手法になるので、理屈で理解していきましょう。

positionプロパティ, transformプロパティの使い方を忘れた方は、「CSSのpositionプロパティを学ぼう」「CSSのtransformプロパティで要素を変形させよう」の記事を振り返ってみましょう。

【CSS】position プロパティまとめと効かないときの対処法を解説

CSSのtransformプロパティで要素を変形させよう

そのCSS、なんとなく書いてて不安になることない?

0円でメンター付き学習を始めてみる

申し込みは30秒で完了

 

 

上下左右中央寄せのやり方

早速、デモを見てみましょう。

 

See the Pen Untitled by ZeroPlus (@zeroplus-programming) on CodePen.

positionプロパティとtransformプロパティを理解している方であれば、上記のコードで読み取れるかと思います。

ポイントは以下になります。

 

positionを指定する

中央寄せにしたい要素にabsoluteを指定し、その基準になる親要素にrelativeを指定します。

今回は中央寄せにしたい「ZeroPlus」というテキストに対してposition: absolute;、その移動の基準になる親要素である、.boxというクラス名がついたdivに対してposition: relative;をそれぞれ指定しました。

 

transformのtranslateを指定する

中央配置したい要素を上から50%、左から50%移動させた上で、transformプロパティを使用して要素の大きさの半分ずつ位置を戻します。

基準になるdivの上から50%の距離、左からも50%の距離にテキストを移動させます。

しかし、このとき中央寄せしたい要素の左上が起点になるため、これらを指定しただけでは中央からずれてしまいます。

 

 

これを修正するために、テキスト要素の横幅半分の大きさ(50%)の分だけ左に戻します(translateX)。さらに、縦幅の半分(50%)分だけ上に戻します(translateY)。

CodePenのデモコードでは、transform: translateX(-50%) translateY(-50%);ではなくて、transform: translate(-50%, -50%);としていますが、実はCodePenのようにtranslate()だけでtranslateX()translateY()の両方をまとめて指定することができます。

したがって、動かしたい要素に、

.text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

という4行のコードをセットで使用することで、上下左右中央寄せをすることができます。

まとめ

このコードは理屈で理解すると、あらゆる場面で値を変えて使用することができます。

ハンバーガーメニューでも上下左右中央寄せはしないものの、positionとtransformを組み合わせて使用するので、マスターしていきましょう。


ZeroPlus Gateについて

一つ、確かな理解を積み上げましたね。

ただ「理解した」と「実務で使える」の間には、もう一段ギャップがあります。なんとなく作れても、実務基準ではコードにムダや間違いがあるとみなされることがあります。自分では気づけない、そのズレをどう埋めるかが次の課題です。

そのギャップを埋める一番早い方法は、実際の案件レベルの制作を、メンターに見てもらいながら進めることです。

ZeroPlus Gateでは、30日間無料で、正しくWebサイトを作る力が身につく実践型の学習環境を提供しています。

  1. メンターとあなただけの学習ロードマップを作れる
  2. 現場経験豊富なプロへ回数無制限で質問ができる
  3. 元ランサーズの技術責任者監修のカリキュラム

このレベルの環境を、入会金も月謝も一切なしで提供しているのはZeroPlus Gateだけです。ただし、参加者の数には制限があります。

 

少しでも興味がある方は、以下のリンクからサービスの詳細をご覧ください。

ZeroPlus Gateの詳細を見る

登録は30秒、今すぐ次の一歩へ

\ 学んだことをSNSでシェアしよう /

この記事の執筆者

ZeroPlus Media変種部

ZeroPlus Media編集部

ZeroPlusは、「フリーランス特化型プログラミングスクール」です。ZeroPlus Mediaでは、フリーランスとして活躍する際に役立つ有益なプログラミングやWeb制作に関する情報を発信しています。

目次

質問について

ZeroPlus Media読者限定で質問対応をおこなっています。以下の2つの方法で質問を受け付けています。

選べる2つの質問方法

1

Google Foam(テキスト)で質問

mail

フォーム送信

メールで解答

formで質問
2

Google meet(オンラインmtg)で質問

meet

日時選択

メールを受け取る

メールからmtgに参加

meetで質問
ZeroPlus Gateについて

あなたの目的に合わせた2つのサービス

あなたの目的に合わせたZeroPlusの2つのサービス
基礎からフリーランスレベルまで本質的な学びを提供しています

完全無料!30日間で学びきれる
プログラミンスクールZeroPlus Gate

  • お金をかけずに、学習を進めたい
  • Webサイトを作れるようになりたい
  • メンターや講師に質問しながら学習したい

詳しくはこちらから

フリーランス特化型
プログラミングスクール ZeroPlus

  • プログラミング学習で悩んでいる
  • 仲間と一緒に学習したい
  • フリーランスとしての総合的な力を養いたい

詳しくはこちらから