CSSで中央寄せする方法を解説!

css-center
目次

はじめに

Webデザインにおいて、要素を中央揃えにすることはとても重要です。

中央揃えをすることで、ページのレイアウトが均等に整い、見やすくなります。

ただし、中央揃えをするためには様々な方法があります。

本記事では、テキストや画像を中央揃えにする方法として、CSSのプロパティflexboxgridpositionを使用した方法について紹介します。それぞれの方法における特徴や使い方について、詳しく解説していきます。

テキストを中央揃えにする方法

テキストを中央揃えにするには、CSSのtext-alignプロパティを使用します。

text-alignプロパティは、テキストの配置方法を指定することができます。中央揃えにするためには、text-alignプロパティに「center」を指定します。

以下は、テキストを中央揃えにするためのCSSの例です。

.center {
  text-align: center;
}

このCSSをHTMLの要素に適用することで、その要素内のテキストが中央揃えされます。

<div class="center">
  <h1>テキストを中央寄せにする方法</h1>
  <p>テキスト</p>
</div>

テキストを中央寄せにする方法

テキスト

上記の例では、div要素に.centerクラスを適用し、その中にh1要素とp要素を配置しています。このように、中央揃えにしたいテキストを含む要素に.centerクラスを適用することで、簡単にテキストを中央揃えにすることができます。

また、text-alignプロパティには「left」や「right」を指定することで、テキストを左揃えや右揃えにすることもできます。必要に応じて、適切な配置方法を選択することが大切です。

画像を中央揃えにする方法

画像を中央揃えにするには、CSSのmarginプロパティを使用します。

marginプロパティは、要素の外側の余白を指定することができます。画像を中央揃えにするためには、左右の余白をautoに指定します。

以下は、画像を中央揃えにするためのCSSの例です。

.center-image {
  display: block;
  margin: 0 auto;
}

このCSSをHTMLのimg要素に適用することで、画像が中央揃えされます。

<img src="sample.jpg" alt="Sample image" class="center-image">

上記の例では、img要素に.center-imageクラスを適用しています。displayプロパティに「block」を指定することで、画像をブロック要素として扱い、marginプロパティに「0 auto」を指定することで、左右の余白を自動的に計算して、画像を中央揃えにしています。

また、画像を含む要素の幅が指定されている場合は、画像の幅が要素の幅よりも小さい場合でも中央揃えになるように、要素の幅を指定する必要があります。必要に応じて、適切な幅を指定してください。

flexboxを使った中央揃え

flexboxを使ったレイアウトは、要素を水平方向または垂直方向に柔軟に配置することができます。

flexboxを使うことで、中央揃えを簡単に実現することができます。

まず、親要素にdisplay:flexを指定することで、その要素の子要素をflexアイテムとして扱うことができます

次に、justify-contentプロパティとalign-itemsプロパティを使用して、要素を中央揃えに配置します。

以下は、flexboxを使ってテキストを中央揃えにするためのCSSの例です。

.parent {
  display: flex;
  justify-content: center; /* 水平方向 */
  align-items: center; /* 垂直方向 */
  border: 1px solid #ccc
}

このCSSをHTMLの要素の親要素に適用することで、その要素内のテキストが中央揃えになります。

<div class="parent">
  <p>テキストを中央揃えにする方法</p>
</div>

テキストを中央揃えにする方法

この例では、親要素に.parentクラスを適用しています。displayプロパティに「flex」を指定することで、その要素の子要素をflexアイテムとして扱います。justify-contentプロパティに「center」を指定することで、flexアイテムを水平方向に中央揃えに配置します。align-itemsプロパティにも「center」を指定することで、flexアイテムを垂直方向に中央揃えに配置します。

また、flexboxは子要素の幅や高さを自動的に調整するため、要素のサイズを指定する必要がなく柔軟にレイアウトを設計することができます。このため、要素のサイズに応じて中央揃えを行うことができます。

gridを使った中央揃え

CSS Gridは、Webページのレイアウトを作成するための優れたツールであり、要素をグリッドに配置することができます。CSS Gridを使用して要素を中央揃えにするには、グリッドコンテナにdisplay: grid;を設定して、 justify-content: center;とalign-items: center;を追加します。(flexboxと一緒のプロパティですね。)

以下は、CSS Gridを使用して画像を中央揃えにする例です。

<div class="container">
  <img src="image.jpg" alt="Image">
</div>
.container {
  display: grid;
  justify-content: center;
  align-items: center;
  height: 100vh;
}

この例では、.container要素がグリッドコンテナとして定義され、その高さがビューポートの100%に設定されています。 justify-contentとalign-itemsは、要素を水平方向と垂直方向の両方で中央揃えにするために使用されます。

この方法は、flexboxと同様に簡単で使いやすく、CSS Gridを使用することで、さまざまなサイズの画像を簡単に中央揃えにできます。ただし、ブラウザの互換性には注意する必要があります。一部の古いブラウザでは、CSS Gridをサポートしていないため、代替手段を使用する必要があります。

positionを使った中央揃え

CSSのpositionプロパティを使用することで、要素を中央揃えすることができます。

positionプロパティを使用して要素を絶対位置で中央揃えする方法を紹介します。

<div class="container">
  <div class="centered">中央揃えされた要素</div>
</div>
.container {
  position: relative;
}

.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
中央揃えされた要素


まず、親要素にposition: relative;を指定して、子要素の絶対位置を親要素に対して指定するための基準を設定します。そして、子要素にposition: absolute;を指定して、子要素の位置を親要素に対して絶対的に指定します。

子要素にtop: 50%;left: 50%;を指定することで、親要素の中央に要素が移動します。最後に、transform: translate(-50%, -50%);を使用して、要素の中心を親要素の中心に合わせます。

まとめ

今回は、テキストや画像を中央揃えにする方法について学びました。まず、テキストを中央揃えにするには、text-alignプロパティを使用して、親要素に対して中央揃えを指定することができます。

次に、画像を中央揃えにするには、displayプロパティを使用して、親要素をflexboxやgridレイアウトに変更しalign-itemsおよびjustify-contentプロパティを使用することができます。また、positionプロパティを使用して、画像を親要素の中央に配置することもできます。

これらの方法を組み合わせることで、より高度な中央揃えのレイアウトを作成することができます。ただし、いずれの方法も、親要素のサイズと内容に応じて調整する必要があります。

中央揃えは、ウェブサイトのデザインにおいて重要な要素の1つです。適切な中央揃えの設定により、ウェブサイトの見栄えを向上させることができます。是非、今回学んだ方法を実践して、美しいウェブサイトを作成してみてください。

css-center

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次