No.228


【CSS】:before、:after疑似要素(pseudo elements)

ソースには記述がないのになぜか追加されるアレ

 特定のタグの前後に自動的に要素を追加してくれるのが「疑似要素(pseudo elements)」だ。

 記述的にはCSS+テキストなので、CSSで出来ることは一通りできると思ってよい。
 リストメニューで見た目を統一するとか、要素を枠で囲ったりとか、テキストの先頭行の字下げを行うとか、工夫次第でいろいろできる。

 なによりHTMLのほうに余計なタグを記述する必要が無いのが嬉しい。自分はHTMLはシンプルであるに越したことはないという信者なので尚更だ。


サンプル

 例えば、以下のようにCSSを記述すると

<style type="text/css">
  a:before {
    content: "■";
    color: blue;
  }
  a:after {
    content: ">";
    color: blue;
  }
</style>

 全てのリンクの先頭に青字で「■」後方に青字で「>」が追加される。

<a href="#">テキスト</a>

 なら

■テキスト>

 と表示されるのだ。使いどころによってはかなり便利。