CSSで要素を中央に配置する方法
CSSを使用した要素の中央揃えは、特に水平方向と垂直方向の両方を中央揃えにする必要がある場合は、本来よりもはるかに難しく見えます。今日は、最新のCSSと少し古い(ただしまだ関連性のある)手法の両方を使用して、それを行う方法を紹介します。
テキスト要素を水平方向に中央揃え
テキストを水平方向に中央揃えするのは簡単です。 text-align
を使用します プロパティを指定し、 center
の値を指定します 。
h1 {
text-align: center;
}
上記はすべてのテキストで機能します 要素。
ブロック要素(非テキスト)を水平方向に中央揃えにします
テキスト以外の要素を水平方向に中央揃えするには、 margin
を使用できます。 プロパティを指定し、 auto
の左右の値を指定します 。要素の幅の値も指定する必要があります:
.center-horizontal {
margin-left: auto;
margin-right: auto;
width: 100px; /* or max-content;*/
}
注:中央の要素に特定の固定幅の値を指定したくない場合は、 width:max-content
を使用できます。 —次に、要素はそのコンテンツの幅まで拡張されます。
ブロックとインラインブロック要素
.center-horizontal
上記のクラスはすべてのブロック要素を中央に配置しますが、インラインは中央に配置しません 要素。 HTMLでは、一部の要素はデフォルトでインライン要素です。 <ボタン> たとえば、要素にはデフォルトの
display:inline-block
があります スタイル。ただし、 display:block
を追加するだけで、簡単にブロック要素にすることができます。 CSSクラスへ:
.center-horizontal {
display: block;
margin-left: auto;
margin-right: auto;
width: 100px; /* or max-content;*/
}
これで、どの要素でも機能します。
Flexboxで水平方向に中央揃え
最新のフレックスボックスプロパティを使用すると、水平方向に中央揃えにするのは非常に簡単です。現在の.center-horizontal
を置き換えます これでクラス:
.center-horizontal {
display: flex;
justify-content: center;
}
ご覧のとおり、
要素が中央に配置されます。
しかし、何らかの理由で、ボタン要素はそうではありません。何が得られますか?
さて、