CSSのbeforeで改行する方法を現役エンジニアが解説【初心者向け】

初心者向けにCSSのbeforeで改行する方法について解説しています。beforeはCSS2で追加された擬似要素で、選択した要素の最初の子要素として機能します。今回はbeforeで追加するcontentの内容を改行する方法について解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

CSSのbeforeで改行する方法について解説します。

CSSの基礎がわからない場合は、CSSの書き方の記事を先にお読みください。

 

なお本記事は、TechAcademyのWebデザインオンラインブートキャンプのCSSのカリキュラムをもとに執筆しています。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

CSSのbeforeで改行する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

beforeで改行する書き方

::beforeという擬似要素はとても便利でよく使用するのではないかなと思いますが、ここでは小技的な「改行させる」方法をご紹介します。

例えば、こんな感じでハンコのようなリストアイコンをテキストで作る場合、どうしますか?
CSSのbeforeで改行する方法

::before要素に、font-sizeとwidthとheightを計算して書いて、contentに書いたテキストの要素をはみ出させずに改行させるようにして、、、

としても良いのですが、もしかしたらブラウザーによってはうまく改行されず、変なことになってしまうかも、、という恐怖に怯えることになりそうです。(ですよね?)

そこで、「content内で改行させる」方法を使ってみましょう。
たったの二つ、ポイントを押さえるだけでオッケーです。

content:"特別\A価格"
white-space: pre;

このように書きます。
contentの【\A】これが、white-space: pre;を与えられることによって、改行となります。デフォルトでは、半角スペースが空くだけなので、white-space: pre;を忘れないようにしましょう。

また、\Aは、普通のスラッシュ( / )ではなく「バックスラッシュ」を使用していますので、入力方法を確認するようにしましょう。

実際に書いてみよう

HTML

<ul>
  <li><span>りんご</span></li>
  <li><span>みかん</span></li>
  <li><span>バナナ</span></li>
</ul>

 

CSS

li{
  list-style: none;
  margin: 10px 0;
}

li span{
  display: inline-block;
  line-height: 40px;
  vertical-align: top;
}

li::before{
  /*改行するためのスタイル*/
  content:"特別\A価格";
  white-space: pre;
  
  /*ハンコのスタイル*/
  font-size: 16px;
  color: red;
  padding: 4px;
  margin-right: 5px;
  display: inline-block;
  line-height: 1em;
  border: red 1px solid;
  border-radius: 50%;
}

 

この記事を監修してくれた方

和田 祥子(わださちこ)
フリーランスのWebデザイナー7年目です。Ruby勉強中。

テニスと音楽とビールが好きです。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyでは初心者でも最短4週間でオリジナルWebサイトを公開できるWebデザインオンラインブートキャンプを開催しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。