オーダーメイドコース
icon
icon

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

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

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,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では、初心者でもオリジナルWebサイトを公開できるオンラインブートキャンプWebデザイン講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。