【CSS】円の中にテキストを表示する方法

CSS

今回は、「CSSで円の中にテキストを表示する方法」について。

テキストが1行の場合と2行の場合の2パターンについて紹介していきます。

【CSS】円の中にテキストを表示する方法

完成形はこちらです。

テキストが1行の場合と、2行の場合の円が2つあるのがわかると思います。

それでは早速コーディングしていきましょう!

HTML

<!-- テキストが1行の場合 -->

<div class="circle">
  <p>テキスト</p>
</div>

<!-- テキストが2行の場合 -->

<div class="circle2">
  <p>
    テキスト<br>テキスト
  </p>
</div>

テキストが1行の場合は、まず親要素にクラスをつけて中にpタグでテキストを入れます。

次にテキストが2行の場合はも親要素にクラスをつけ、中のテキストであるpタグの途中で「br」の改行タグを入れてあげます。

そうすることでテキストが2行になりますよ。

CSS

.circle {
  text-align: center;
  margin: 0 auto;
  width: 100px;
  height: 100px;
  line-height: 100px;
  border-radius: 50%;
  margin-bottom: 50px;
  background-color: red;
  color: #fff;
}

.circle2 {
  margin: 0 auto;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: red;
  color: #fff;
  line-height: 1.5;
}

◎1行目〜11行目

「text-align: center;」でテキストを中央寄せにし、「margin: 0 auto;」で全体的に円を真ん中にします。

そして「width: 100px;」と「height: 100px;」で円のサイズをつけます。

テキストが1行の場合はline-heightを指定して、数値をheightの高さと合わせたらテキストが上下中央寄せになります。

なので、今回は「line-height: 100px;」を指定すればOK。

「border-radius: 50%;」で円を丸くします。

◎13行目〜24行目

基本的なサイズや色などのスタイルは、circleクラスと一緒です。

しかし、テキストが2行の場合にline-heightを指定すると、2行目のテキストが円からはみ出てしまいます。

テキストを2行にしたい場合は、

display: flex;
align-items: center;
justify-content: center;

の3つのプロパティを指定することで、2行でもテキストが上下中央寄せになるのです。

まとめ

以上が、「CSSで円の中にテキストを表示する方法」でした。

是非真似してコーディングしてみてください。