CSS Web制作

CSSでテキストの最初の一文字を大きくする方法【::first-letterの使い方】

2023年3月27日

※ 当サイトではアフィリエイト広告を利用しています

テキストの一文字目だけ大きくする方法ある?

文章の最初の文字だけ大きくするデザインがありますが、spanタグで囲って大きくする方法もあります。

ただそれだとHTMLをいじる必要があるので、今回はHTMLはそのままでCSSだけで実現する方法を解説します。

じゅんぺいブログは、Web制作コーディングWordPress制作)の技術記事を中心に、約500記事公開しています。ぜひ他の記事も参考にしてみてください!
完全無料のプログラミングスクール『ZeroPlus Gate』
30日間でWeb制作を学べる無料のプログラミングスクールがこちら
いきなり数十万するプログラミングスクールは厳しい・・・という人のお試しに最適です。
現在は無料ですがいつ有料になるか分からないので、気になる方はお早めに👇
(有料になっていたらすいません🙇‍♂️)

\ 完全無料 /

ZeroPlus Gate公式サイト

毎日先着制!

CSSのfirst-letterで最初の一文字を大きくする方法

早速ですが今回のデモのコードはこちらです。

<div class="box">
  <p>愛犬撮影会に行ってきました。とても天気が良くてワンちゃん達も楽しそうにしていました。写真が出来上がるのが楽しみです。</p>
</div>
.box {
  box-shadow: 1px 1px 5px 2px #ccc;
  margin-inline: auto;
  margin-top: 20px;
  max-width: 300px;
  padding: 1em;
  width: 95%;
}
p {
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
p::first-letter {
  color: red;
  font-size: 40px;
  font-weight: 700;
}

CSSのポイントは最後のp::first-letterで、これは擬似要素になります。

p::first-letter {
  /* 最初の文字にあてるスタイル */
}

ここで最初の文字のスタイルを設定できます。

今回は大きくして色と太さも変えてみました。

See the Pen
Untitled
by junpei (@junpei-sugiyama)
on CodePen.

ただ最初の文字を大きくするデザインとはちょっとイメージが違うと思うので、テキストを回り込ませてみたいと思います。

 

最初の文字にテキストを回り込ませる方法

テキストを回り込ませるのに必要なのはfloatになります。

p::first-letter {
  line-height: 1.2;
  float: left;
  padding-right: 10px;
}

ただし文字の高さや右側の余白などを調整するために、line-heightpadding-rightも書いています。

こちらがデモです。

See the Pen
1文字目だけ大きくする:テキストを回り込ませる
by junpei (@junpei-sugiyama)
on CodePen.

 

段落(pタグ)が複数ある場合

もしdivタグの中にpタグが複数ある場合はどうなるでしょうか。

<div class="box">
  <p>愛犬撮影会に行ってきました。とても天気が良くてワンちゃん達も楽しそうにしていました。写真が出来上がるのが楽しみです。</p>
  <p>愛犬撮影会に行ってきました。とても天気が良くてワンちゃん達も楽しそうにしていました。写真が出来上がるのが楽しみです。</p>
  <p>愛犬撮影会に行ってきました。とても天気が良くてワンちゃん達も楽しそうにしていました。写真が出来上がるのが楽しみです。</p>
</div>

この場合、CSSが先ほどと同じならこのようになります。

See the Pen
1文字目だけ大きくする:複数の段落
by junpei (@junpei-sugiyama)
on CodePen.

もし最初の段落(pタグ)だけ適用させたい場合は、最初のpタグにだけclass名を付けそれに適用させるか、以下のように書けばOKです。

p:first-of-type::first-letter {
  /* 最初の文字にあてるスタイル */
}

 

spanタグを使うデメリット

spanタグを使う場合は、冒頭でも書いたようにHTMLをいじる必要があります。

特に複数行ある場合は手間になりますし、見た目的にも良くないですよね。

<div class="box">
  <p><span>愛</span>犬撮影会に行ってきました。</p>
  <p><span>と</span>ても天気が良くてワンちゃん達も楽しそうにしていました。</p>
  <p><span>写</span>真が出来上がるのが楽しみです。</p>
</div>

まとめ

今回はfirst-letterを使って最初の一文字を大きくする方法を解説してきました。

使用頻度が低いと思いますが、これを知らないとspanタグを使ってごちゃごちゃしたHTMLを書くことになるので、覚えておくと便利かと思います。

以上になります。

この記事が役に立ったと思ったら、シェアボタンからX(旧Twitter)などにシェアすると、いいねされてフォロワーが増えたりすることがあるよ!

 

  • この記事を書いた人

じゅんぺい

37歳からWeb制作とブログ開始。Web制作歴5年目でコーディングとWordPressオリジナルテーマ制作が中心。これまで120件以上を納品。当ブログ月間最高15万PVで、370記事以上はWeb制作の技術記事。コンテンツ販売→累計売上1200万円&1500部超え。X(旧Twitter)フォロワー7200人以上。2024年3月からブログの経験を活かしてライターとしても活動を開始。

-CSS, Web制作