テキストの前後に共通の記号やアイコンを付けたい(before/after)

Programming

今回は、CSSの「::before」と「::after」を使用してテキストや要素の直前または直後に共通の記号やアイコンなどのコンテンツを配置する方法を紹介します。

「::before」と「::after」を使用すると下記の様に決まったクラス名を付けてあげるだけで決まったコンテンツ(アイコン)が直前直後に付いてくれます。

クラス名にfirsticonを付ける事で先頭にlasticonを付ける事で語尾にアイコンが付きます

  • リスト1上記と同じ「firsticon」を付けてあげるだけで良い。
  • リスト2クラス名を付けなければ何も付かない。
  • リスト2クラス名を付けなければ何も付かない。

テキストの前後に共通の記号やアイコンを付ける方法

テキストの前後に共通の記号やアイコンを付ける方法は、「::before」と「::after」の擬似クラスと「content」プロパティを使います。

「::before」はテキストや要素の直前にコンテンツを追加します。
「::after」はテキストや要素の直後にコンテンツを追加します。

「::before」と「::after」の擬似クラスを付けたセレクタに対して「content」プロパティで追加したいコンテンツを指定します。

「content」プロパティの記述の仕方は「content: “ここに追加したいコンテンツ“;」と書きます。

例文

クラス名にfirsticonを付ける事で先頭にlasticonを付ける事で語尾にアイコンが付きます

上記の例文のHTMLとCSSです。

<p class="firsticon lasticon">クラス名にfirsticonを付ける事で先頭にlasticonを付ける事で語尾にアイコンが付きます</p>
/*直前に入るコンテンツ*/
.firsticon::before {
 content: "\f445"; /*Font Awesome 5 Freeのユニコード*/
 font-family: "Font Awesome 5 Free"; /*Font Awesome 5 Freeの指定*/
 color:red; /*色*/
}
/*直後に入るコンテンツ*/
.lasticon::after {
 content: "\f445"; /*Font Awesome 5 Freeのユニコード*/
 font-family: "Font Awesome 5 Free"; /*Font Awesome 5 Freeの指定*/
 color:blueviolet; /*色*/
}

contentプロパティ内のコンテンツは「▲」や「※」などの記号にしてもOKです。FontAwesomeのアイコンを使用する時はunicodeを使用します。(バックスラッシュを「/」にしてしまうとエラーなるので注意。)

このstyleを一度作ってしまえば今後、王冠アイコンを付けたい場合に「firsticon」もしくは「lasticon」のクラスを付けるだけで済みます。この様に効率的にコーディングを行う際や、ちょっとした装飾を付けたい時などに非常に役に立ちます。

コンテンツを画像にする場合

「content」プロパティに画像を配置したい場合は「content」に対して「url(…/sample/page_1/image_001.png)」の様に直接画像を指定すれば挿入する事が出来ます。

しかし、この記述だと下記の様に実際のサイズで入ってしまい調整が難しいです。(contentプロパティで指定した画像の大きさはCSSで調整出来ない。)

画像が実際のサイズで表示されてしまいます。

<p class="icoBimage">画像が実際のサイズで表示されてしまいます。</p>
.icoBimage::before {
 content: url(/wp-content/uploads/2020/05/same-e1589018206567.png);
 display: inline-block;
}

なのでコンテンツに画像を挿入するには、「background-image」プロパティを使用します。

contentプロパティの記述は「content: “”;」と中身を空にします。次に「background-image:url(…/sample/page_1/image_001.png);」と記述して背景画像を置きます。

これは空白のコンテンツに対して背景画像を設定しているので、実質画像のみが配置された事になります。また背景画像のサイズの調整はCSSで可能なので、contentの画像の調整が出来てる様に見せる事が出来ます。

背景画像で指定する事でCSSの幅と高さを効かせられるので調整が可能になります。

<p class="icoBimage2">背景画像で指定する事でCSSの幅と高さを効かせられるので調整が可能になります。</p>
<style>
.icoBimage2::before {
 content: "";
 display: inline-block;
 width: 20px;
 height: 20px;
 background-image:url(/wp-content/uploads/2020/05/same-e1589018206567.png);
 background-size: contain;
 vertical-align: middle;
}
</style>

以上が「テキストの前後に共通の記号やアイコンを付けたい(before/after)」でした。

before/afterの使い方をマスターすればWEBデザイン、コーディングに置いて効率化やちょっとした装飾を付けたりと出来、一段階レベルの上がったWEBサイトが出来る様になります。

この記事を書いた人
KEITO

AI × IT × WEB3|関東在住。本職はディレクター 。AIを活用してビジネス開拓。仕事の依頼はTwitterからお願いします。YouTube、Twitter、Instagramもお願い致します。

Programming
この記事を共有する
スポンサーリンク
スポンサーリンク
KT LIFE
スポンサーリンク

暗号資産投資するなら以下

Bybit

国内人気No.1!屈強なサーバー/信頼性抜群!トレーダー御用達の取引所。

通貨数338種以上
レバレッジ最大100倍
現物取引手数料Maker:0%〜0.1%
Taker:0.02%〜0.1%
先物取引手数料Maker:0%〜0.01%
Taker:0.03%〜0.06%
操作性スマホでも取引・入金できる
口座開設簡単に口座開設できる
日本語対応日本語対応あり・JPY利用可
特典下記から登録で初回ボーナスあり
登録リンクBybitへの登録は こちら
招待コード22295
レビュー記事レビュー記事は こちら
BigBoss&CRYPTOS

最大レバレッジ1111倍・日本円換金ルート

通貨数BigBoss:15種以上
CRYPTOS:15種以上
レバレッジ最大1111倍
スポット手数料Maker:0.02%〜0.18%
Taker:0.05〜0.20%
先物取引手数料
操作性スマホでも取引・入金できる
口座開設少し敷居が高い
日本語対応日本語対応あり
特典下記から登録で初回ボーナスあり
登録リンクBigBossへの登録は こちら
招待コード6690951
レビュー記事レビュー記事は こちら
Nexo

高APYでのステーキング&レンディング

通貨数60種以上
レバレッジ
スポット手数料Maker:0.04%〜0.20%
Taker:0.03%〜0.20%
先物取引手数料
操作性スマホでも取引・入金できる
口座開設簡単に口座開設できる
日本語対応日本語対応あり
特典下記から登録で初回ボーナスあり
登録リンクNexoへの登録は こちら
招待コード
レビュー記事レビュー記事は こちら

他おすすめ取引所はこちら

タイトルとURLをコピーしました