2015/09/16
超簡単!CSSで上下左右センターにする方法

超簡単ですぐ実践できるCSSで上下左右センターにする方法をご紹介。
display:flexを使って実現する方法です。
とても簡単でコードもシンプルなので、ご参考になれば幸いです。
display:flexを使ってCSSで上下左右センターに
CSSを使って上下左右センターにする方法はいろいろありますが、このdisplay:flexを使う方法がもっとも簡単でコードもシンプルになりそうです。
HTML
HTMLは以下のような感じです。
実際に使用する場合は、div部分を用途に合わせて変えてください。
1 2 3 4 |
<div class="vertical-center"> <img src="httpss://unsplash.it/200/300"> <p>上下左右センター</p> </div> |
CSS
続いてはCSS。
1 2 3 4 5 6 7 8 |
.vertical-center { min-height: 100%; min-height: 100vh; display: flex; align-items: center; justify-content: center; flex-direction: column; } |
min-height: 100vhの「vh」は「viewport height」の略称になります。
%と何が違うのかというと、「デバイスの画面」を基準にするところです。
これでmin-heightがうまく効かないデバイスでも機能するようにします。
display: flexでフレックスボックス化します。
align-items: centerで上下センターに。
justify-content: centerで左右センターに。
flex-direction: columnは改行したときの方向へ並ぶようにするプロパティです。これで、2つ以上の要素を上下に並べます。
Demo
こんな感じ完成です。
See the Pen YywoPv by yugusato (@yugusato) on CodePen.
IE10+, Chrome, Firefox, Safariに対応しています。
Sponsored by
お役に立てましたら、以下どれでも結構のですので、ポチリと……。
Amazonアソシエイト・プログラム規約による記載
当サイトはamazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。
この記事を読んだ人はこんな記事も読んでいます
-
-
クリックしたくなる!CSSだけで作られた無料のボンタコレクション「CSS Buttons」
CSSだけで作られた無料のボタンがコレクションされている便利なサイトをご紹介します。 Photos
-
-
レスポンシブWEBデザイン対応のメニューが作れるチュートリアル17(ソースファイル付き)
レスポンシブWEBデザインを行ううえで重要になってくるのがメニューをどのようにするかということではな
-
-
HTML5/レスポンシブ/フラットデザインの無料テンプレート50(2013年分)
以前「全部無料!レスポンシブWEBデザイン制作を驀進させるレスポンシブ対応テンプレート121」という
-
-
ユーザーを魅了するcodrops作成のマウスオーバーエフェクト21
CSS3対応のブラウザーが増えているおかげで、マウスオーバーエフェクトにも凝った演出を施しているサイ
-
-
2013年のベストjQueryプラグイン47
2013年も残すところわずかになりました。 今年もたくさんのjQueryプラグインが発表されていま
-
-
左右からメニューがスルッ!CSSだけで作成されたオフカンバスメニュー6
CSSだけで作られたオフカンバスメニューをまとめてご紹介します。 「オフカンバスメニュー」は、ボタ
-
-
もはやアート?ブラウザの閲覧履歴をファビコンで一覧表示する「Iconic History」
ブラウザの閲覧履歴をファビコンで一覧表示するChromeの機能拡張「Iconic History」を
-
-
波打つようなクリックエフェクトを実装できる「Waves」
今回はクリックしたときに、静かな湖面を指で触れて波打つようなエフェクトを実装できるライブラリーをご紹
-
-
無料で使えるフラットデザインUIキット40
フラットデザインのUIキットをご紹介します。 さまざまなサイトで取り入れられているフラットデザイン
-
-
ブラウザでプログラミング!ブラウザでコードが書けて実行・確認できるサービス14
ブラウザでコードが書けて実行・確認できるサービスをご紹介します。 サイトを実際に公開する前にテスト