CSSの:after疑似要素を使って要素の後にコンテンツを挿入する方法
CSSの:after疑似要素を使用すると、指定した要素の内容の後に、テキストや画像などのコンテンツを追加できます。HTMLを変更することなく、CSSだけで装飾的な要素を追加できるため、リストの装飾や注釈の表示などに広く活用されています。
基本的な使い方
:after疑似要素は、contentプロパティと組み合わせて使用します。contentプロパティには、文字列やURLで指定した画像などを設定できます。
サンプルコード
以下のコードを実行すると、各段落(p要素)の後にビュレット画像(bullet.gif)が挿入されます。
<html>
<head>
<style>
p:after {
content: url(/images/bullet.gif);
}
</style>
</head>
<body>
<p>この行の後にビュレットが表示されます。</p>
<p>この行の後にビュレットが表示されます。</p>
<p>この行の後にビュレットが表示されます。</p>
</body>
</html>実行結果
上記のコードをブラウザで表示すると、各段落のテキストの直後にビュレット画像が表示されます。すべてのp要素に同じスタイルが適用されるため、個別にHTMLへ画像タグを記述する必要がありません。
補足:モダンな記述方法
CSS3以降では、疑似要素を表す際にコロンを2つ重ねた::afterという記述が推奨されています。古いブラウザ(IE8など)との互換性が必要な場合を除き、::afterを使用するとよいでしょう。
また、contentプロパティには画像URL以外にも、次のような値を指定できます。
- 文字列:content: "→"; のように、任意のテキストを追加
- 属性値:content: attr(href); のように、要素の属性値を表示
- カウンタ:content: counter(item); のように、連番を自動生成
:after疑似要素を活用することで、HTMLの構造をシンプルに保ちながら、柔軟なデザイン表現が可能になります。
-
CSSでhr要素(水平線)のスタイルを設定する方法をわかりやすく解説
CSSを使ってhr要素(水平線)のスタイルを設定するには、borderプロパティを活用します。hr要素はデフォルトではシンプルな1本の線として表示されますが、border-topやborder-radiusなどを組み合わせることで、実線・破線・二重線・点線・角丸など、さまざまなデザインに自由にカスタマイズできます。以下に、代表的な5種類の水平線スタイルを実装したサンプルコードを紹介します。サンプルコード<!DOCTYPE html> <html> <meta name="viewport" content="width=device-
-
CSSでスティッキー要素を作成する方法|position: stickyの使い方を解説
CSSでスティッキー(sticky)要素を作成するには、positionプロパティにstickyを指定し、topプロパティで画面上部からの固定位置を設定します。以下に具体的なコード例を示します。 コード例 <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> body { font-family: "