CSS疑似要素(::beforeや::after)のcontent内で改行したり半角スペースを複数入力する方法

疑似要素を使うとタグの数をかなり減らせますし、CSSのみでツールチップの実装もできます。
ただ、疑似要素のcontent内では、普通に<br>タグでは改行できません。
今回は疑似要素内で改行する方法についてまとめておきます。
\Aを使用して改行する
まずは、改行したい位置で「\A」を入力します。
そのあとwhite-space: pre-wrap;を指定すると改行されます。
.tooltip::before {
content: '説明文を\A改行します';
white-space: pre-wrap;
}「\A」は改行を示すコードで、「pre-wrap」を指定するとHTML上の改行や半角スペースがブラウザでの表示にそのまま反映されるようになり、その影響で改行コードを認識して改行してくれるようになります。
「white-space: pre;」でも改行されますが、これだと「\A」を入力しないと折り返されなくなってしまい、CSSやブラウザ幅によっては表示が崩れてしまう可能性があります。
pre-wrapはpreと同様に改行コードを判定しつつ、横幅に応じて自動折り返しもしてくれます。
小文字でも問題なく使える
大文字で紹介されていることが多いですが「\a」のように小文字でも機能します。
ちなみにcontent内では「\r」や「\n」「\r\n」の改行コードは使えなく、あくまで「\a」しか反映されないので注意が必要です。
半角スペースを複数入力する
content内では2つ以上半角スペースを入力しても1つ分しか隙間が空きません。
これも「white-space: pre-wrap;」や「pre」を指定すると、半角スペースを入力した分だけ隙間が空くようになります。
「\00a0」で半角スペースを入力する
「white-space」の指定をしなくても「\00a0」を入力すると半角スペースとして認識されて複数入力してもちゃんと隙間が空くようになります。
.tooltip::before {
content: '説明文に\00a0\00a0\00a0半角スペースを複数入力します';
}ちなみに英語を入力しようとすると、コードのすぐあとにアルファベットが続く影響で表示がおかしくなってしまうので、コードのあとにスペースを入れて区切りをつけるようにします。
.tooltip::before {
content: 'tooltip\00a0\00a0\00a0 text';
}


CSSのカスタムプロパティ(変数機能)の使い方
Nuxt.jsで「Classic mode for store/ is deprecated and will be removed in Nuxt 3.」のエラーメッセージが表示される場合の対処法
Visual Studio Codeを使ったコード整形方法(Fomatter)
pointer-eventsプロパティでクリックイベントを無効化にする|気になるCSSプロパティ
Nuxt.jsでコンポーネントを作成してコードの共通化を行う|Nuxt.jsの基本
Visual Studio Codeで読み込んだCSSで設定されているclass名の入力補完をしてくれる拡張機能「HTML CSS Support」
MacでCLIツールをインストールするときに行うターミナルでの「パスを通す」とは一体なにか?
SafariでFacebookのPage Pluginに「リクエストを処理できませんでした」とダイアログが表示される問題
Android実機で表示しているサイトを、Chrome開発者ツールで開いて検証する方法
iOSシミュレーターを使ってWebサイトを開発者ツールを見ながら実機表示で開発する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
【2026年版】Karabiner-Elementsで実現する右commandキー活用のススメ
Bartender ProのTop Shelf機能でできること
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集