html
にはdisplay: table
、body
にはdisplay: table-cell
を使用しています。最近、すべての内容が画面中央に表示されます。これは段落、見出し、入力、ラベルなどで動作しますが(少なくとも私がテストした限り)、div
要素では動作しません。 div
の要素にこの方法を適用する方法はありますか?純粋なCSSソリューションが最適でしょう。ディスプレイを使用している場合、中央に表示されない:テーブルセル
html {
display: table;
height: 100%;
width: 100%;
text-align: center;
}
body {
display: table-cell;
vertical-align: middle;
}
.hidden {
display: none;
}
.leaf {
border-radius: 15px 2px 15px 2px;
border: 1px solid green;
background-color: green;
width: 250px;
height: 80px;
}
<div class="leaf">Why am I not centered?</div>
<p>And why am I centered?</p>
それは、なぜそれがしかし、そうするんですか? 'margin:0 auto'ルールはそれをどうするのですか? –
'margin:0 auto'を適用したオブジェクトの幅を指定すると、そのオブジェクトはその親コンテナ内の中央に座ります。 2番目のパラメータとして 'auto'を指定すると、ブラウザは自動的に左右のマージンを自動的に決定します。左右のマージンを同じサイズに設定します。最初のパラメータ0は、上限と下限の両方が0に設定されることを示します。 –