2016-04-18 16 views
2

私は、ページの中央に(縦と横の両方に)配置したいdivがあります。divを縦横に中央に揃える方法は?

水平にセンタリングするには、タグをdivの周りに使用し、垂直方向のセンタリングには2つの試みが行われていますが、実際には動作しません。

コードをチェックアウト:

CSS:

.vcenter{ 
    height: 50px; 
    width: 50px; 
    background: red; 
    vertical-align: middle; 
    margin-top: calc(50% - 25px); 
} 

HTML:オブジェクトを中央にdiv要素があるの周り

<center> 
    <div class="vcenter"> 

    </div> 
<center> 

また、私は中央のタグを使用してはないと思うがそれには最良の方法です。私が知りたいのは何

は、私は関係なく、画面のサイズが何であるかを垂直方向と水平方向の両方のdivを中央にすることはできませんどのように

  • のですか?
  • むしろセンタータグを使用するよりも、水平方向のdivを中央に良い方法はありますか?
+1

https://www.w3.org/Style/Examples/007/center.en.html#hv3 –

+1

ます。https:// cssのあなたのdivを中心したいコンテナにこれらのスタイルを適用します。フローチャートスタイルガイドについては、tricks.com/centering-css-complete-guide/を参照してください。両方のリンクは参考になります。 – timolawl

答えて

4

利用できる場合は、flexを使用するのが最も簡単です。

display: flex; 
align-items: center; 
justify-content: center; 
+0

ディスプレイのフレックスはどのように機能しますか? – Rasik

+0

フレックスを使用してください。すべてのブラウザがすぐにそれを使用し始めると、すぐにすべてのブラウザが適切にサポートします。そして、それは開発者の生活をずっと簡単にします!そして、これは基本的な使い方をしたい場合にはうってつけのチートシートです:http://www.sketchingwithcss.com/samplechapter/cheatsheet.html – Pevara

+0

答えへのリンクを追加しました。個人的には、私はこの参照が非常に有用であることを発見しました:https://css-tricks.com/snippets/css/a-guide-to-flexbox/ –

3
#divId { 
    position: absolute; 
    top: 50%; 
    left: 50%; 
    transform: translate(-50%, -50%); 
} 

明らかにされていません唯一のものは、変換されているアカウントに要素のサイズを取ります。

+0

@SkinnyJさんがあなたの質問に答えて編集しました。気づいてくれてありがとう。 –

関連する問題