CSS
 Computer >> コンピューター >  >> プログラミング >> CSS

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-horizo​​ntal 上記のクラスはすべてのブロック要素を中央に配置しますが、インラインは中央に配置しません 要素。 HTMLでは、一部の要素はデフォルトでインライン要素です。 <ボタン> たとえば、要素にはデフォルトの display:inline-blockがあります スタイル。ただし、 display:block を追加するだけで、簡単にブロック要素にすることができます。 CSSクラスへ:

.center-horizontal {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100px; /* or max-content;*/
}

これで、どの要素でも機能します。

Flexboxで水平方向に中央揃え

最新のフレックスボックスプロパティを使用すると、水平方向に中央揃えにするのは非常に簡単です。現在の.center-horizo​​ntalを置き換えます これでクラス:

.center-horizontal {
  display: flex;
  justify-content: center;
}

ご覧のとおり、

要素が中央に配置されます。

しかし、何らかの理由で、ボタン要素はそうではありません。何が得られますか?

さて、