テキストを水平および垂直に中央揃えするにはどうすればよいですか?絶対位置を使用したくないのですが、それを試してみて、他のdivが悪化しています。それを行う別の方法はありますか?
div {
height: 400px;
width: 800px;
background: red;
}
<div>
<h1>This is title</h1>
</div>
ディスプレイフレックスを使用すると、その直接のすべての子のフレックスコンテキストが有効になり、フレックスの方向によって主軸が確立されるため、フレックスアイテムがフレックスコンテナに配置される方向が定義されます。
div{
height: 400px;
width: 800px;
background: red;
display: flex;
flex-direction: column;
justify-content: center;
text-align: center;
}
これを行うだけで、すべてのブラウザで動作します:
div{
height: 400px;
width: 800px;
background: red;
line-height: 400px;
text-align: center;
}
line-height
プロパティは、行の高さ(垂直方向の中央)を指定し、text-align:center
水平方向の中央に直接配置します。
<div>
<style>
div {
position: fixed;
top: 50%;
left: 50%;
}</style>
<h1>This is title</h1>
</div>
position: fixed
を使用すると、位置を固定値に設定し、top
とleft
を両方とも50%
に設定すると、画面の中央に表示されます。
幸運のコーディング!
詳細は次のとおりです。 https://css-tricks.com/quick-css-trick-how-to-center-an-object-exactly-in-the-center/
.container {
display: table;
}
.centered {
display: table-cell;
height: 400px;
width: 800px;
background: red;
text-align: center;
vertical-align: middle;
}
<div class="container">
<div class="centered">
<h1>This is title</h1>
</div>
</div>