【入門編】::before/::after疑似要素によるインライン装飾 – HTML実践ガイド

HTMLの「おまけ」を魔法のように操る!`::before`と`::after`でデザインを格上げしよう

こんにちは!フロントエンドの世界へようこそ。

HTMLを書き始めたばかりの頃、「ここにもう一つ小さなアイコンを置きたいな」とか「文字の横にちょっとした飾りを付けたいな」と思ったことはありませんか?

普通なら「新しく``タグを追加して、そこに画像を入れるか…」と考えがちですが、実はHTMLの構造を汚さずに、CSSだけで「おまけ」を付け足す魔法のようなテクニックがあるんです。それが、今回ご紹介する疑似要素(ぎじようそ)、`::before`と`::after`です。

これを使えるようになると、HTMLはスッキリしたまま、デザインの表現力がグッと広がりますよ。さあ、一緒に見ていきましょう!

—

`::before`と`::after`ってなに?

料理に例えるなら、「トッピング」のような存在です。

HTMLという「お皿の上のお料理(メインコンテンツ)」には手を触れずに、CSSという魔法で「パセリを添える(::before)」とか「仕上げのソースをかける(::after)」といった装飾ができるイメージですね。

  • `::before`: 要素の「直前」に何かを差し込む。
  • `::after`: 要素の「直後」に何かを差し込む。

「あくまで添え物」なので、HTMLのコードを複雑にすることなく、デザインの幅を広げられるのが最大のメリットです。

—

まずはコードで体験してみよう

難しく考えず、まずは簡単なコードを見てみましょう。例えば、「重要だよ!」と伝えたい``タグの左右に、装飾を入れてみます。

/ 重要テキストの周りに装飾を添える /
strong::before {
content: “★”; / これが一番大事!「中身」を指定します /
color: #ff9900; / オレンジ色に /
margin-right: 5px; / 少しだけ隙間を空ける /
}

strong::after {
content: “★”;
color: #ff9900;
margin-left: 5px; / 文字の右側に少し隙間を /
}

たったこれだけで、HTML側には`

重要事項

`としか書いていないのに、画面上では「★重要事項★」と表示されるようになります。不思議で楽しいですよね!

—

ここだけは注意!アクセシビリティの落とし穴

さて、ここで一つ、プロとして絶対に伝えておきたい「大切なルール」があります。

`::before`や`::after`で表示した文字やアイコンは、「CSSで付け足したもの」であって、HTMLの一部ではありません。

もし、あなたがこの疑似要素を使って「★」というマークを表示させたとして、視覚障害をお持ちの方が利用する「スクリーンリーダー(画面読み上げソフト)」は、この★を読み上げてくれないことが多いんです。

つまずかないためのポイント

1. あくまで「装飾」に使う: 文字の強調や意味を持つアイコンを`content`で入れるのは控えましょう。あくまで「見た目の飾り」として使うのがベストです。
2. 意味のある情報はHTMLへ: もし「ここをクリックしてね!」という重要なアイコンを表示させたいなら、CSSに頼らず、HTML内に`クリック`として記述するか、適切なタグを使うようにしてください。

「見た目はCSS、意味はHTML」という役割分担を意識すると、どんな人にとっても使いやすい優しいWebサイトになりますよ。

—

現場でよく使う「ちょっとした応用」

最後に、Web制作の現場でよく見かけるテクニックを一つご紹介します。``タグ(リンク)の横に、小さな矢印を付ける方法です。

/ リンクの右側に矢印を付ける /
a.link-more::after {
content: ” →”; / 矢印を表示 /
font-weight: bold;
color: #007bff;
}

これだけで、サイト全体に統一感のある「もっと見る」ボタンが作れます。いちいちHTMLで矢印を書かなくて済むので、修正もCSS一括で終わります。便利ですよね!

—

最後に:小さな積み重ねが「プロの仕上がり」になる

最初は「CSSの中に`content`を書くなんて不思議だな」と思うかもしれません。でも、この`::before`/`::after`を使いこなせるようになると、HTMLがぐっとシンプルになり、メンテナンスもしやすい「綺麗なコード」が書けるようになります。

まずは、自分のブログや練習用のページで、文字の横に小さな飾りを付けるところから始めてみてください。つまずいたら、いつでもここに戻ってきてくださいね。

あなたの書くコードが、誰かにとって心地よい体験になりますように。応援しています!

コメント

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