::before / ::after疑似要素 (CSS2)
要素αの前後にテキストや画像などを追加します。α:before { content: 前に追加する内容; プロパティ: 値; }
α:after { content: 後に追加する内容; プロパティ: 値; }
:beforeと:afterの挿入位置(左側が正しい/右側は誤り)
<p>引用部分の前後に引用符を追加:</p> <blockquote>:before疑似要素は、対象要素の前方に任意の文字列や画像などを……</blockquote>:before疑似要素と:after疑似要素を使ってCSSを以下のように記述すると、
blockquote:before { content: "『"; font-size: 2em; color: red; } blockquote:after { content: "』"; font-size: 2em; color: red; }
:before、:after疑似要素の例
このように、HTMLソースを編集せずに、任意の文字列を追加できます。
<ul> <li>北海道</li> <li>東北地方</li> <li>関東地方</li> : : : </ul>:before疑似要素と:after疑似要素を使ってCSSを以下のように記述すると、
li:before { content: "※"; color: blue; } li:after { content: "!"; color: red; }
:before、:after疑似要素の例2
li:after { content: url("kaeru.png"); }
:after疑似要素で画像を加えた例
このように、URLを指定することで、任意の画像を付加することもできます。
<ul> <li title="ほっかいどう">北海道</li> <li title="とうほく">東北地方</li> <li title="かんとう">関東地方</li> : : : </ul>:before疑似要素と:after疑似要素を使って、以下のようにCSSを記述すると、
li:before { content: "地域名:"; color: blue; } li:after { content: "【" attr(title) "】"; /* title属性値を付加 */ font-size: 80%; color: green; }
属性値を付加することもできる
このように、「attr( XXX )」という記述方法を使うことで、属性「XXX」に指定されている値を挿入することもできます。