言語
日本語
English

Caution

お使いのブラウザはJavaScriptが無効になっております。
当サイトでは検索などの処理にJavaScriptを使用しています。
より快適にご利用頂くため、JavaScriptを有効にしたうえで当サイトを閲覧することをお勧めいたします。

CSS辞典

  1. トップページ
  2. CSS辞典
  3. 【CSSセレクタ】E:before

【CSSセレクタ】E:before

セレクタ:before』で、要素の最初の子要素を生成でき、こちらは一般に『:before擬似要素』と呼ばれます。IE7以下のブラウザでは動きません。

『:before擬似要素』を生成する場合は、『content』プロパティの指定が必須となり、『content』プロパティに指定がない場合は『:before擬似要素』の生成はされません。何も文字列を含まない『:before擬似要素』を生成したい場合は『content』プロパティの値に空文字列を渡してあげればOKです。

サンプルコード

div:before { content: "Hello World";} /* Hello Worldという文字列を含んだ『:before擬似要素』を生成します。 */
p:before {} /* 『content』プロパティが指定されていないので『:before擬似要素』は生成されません。 */
div.div1:before { content: ""; display: block; height: 10px; background-color: red;} /* 何も文字列を出力しない場合はこのように空文字列を渡してあげてください。 */

ブラウザでの表示結果

div:before { content: "Hello World";} /* Hello Worldという文字列を含んだ『:before擬似要素』を生成します。 */
p:before {} /* 『content』プロパティが指定されていないので『:before擬似要素』は生成されません。 */
div.div1:before { content: ""; display: block; height: 10px; background-color: red;} /* 何も文字列を出力しない場合はこのように空文字列を渡してあげてください。 */

<div> 『:before擬似要素』が生成されてます。</div>
<p>『content』プロパティの指定がないため『:before擬似要素』が生成されていません。</p>
<div class="div1">『:before擬似要素』で赤いラインを生成しています。</div>

『:before擬似要素』のデフォルトの『display』プロパティの値は『inline』となります。

尚、『:before擬似要素』が生成される場所は指定された要素の前ではなく、指定された要素の中の最初の子要素の位置となりますのでご注意ください。

<!-- ここではありません -->
<p>
<!-- この辺に『:before擬似要素』が生成されます。 -->

</p>

対応ブラウザ

Chrome Chrome
1 以降
Firefox Firefox
1.5 以降
Safari Safari
4 以降
3 以前 ×
Edge Edge
12 以降
全バージョンで対応しています
IE IE
11
10
9
8
7 ×
6 ×
Opera Opera
7 以降
6
5
4
↑ 『:before』として対応
3 以前 ×
iOS Safari iOS Safari
3 以降
2 以前 ×
Android Android Browser
4.4 以降
3 以前 ×
Chrome Android Chrome Android
最新版
デスクトップ版と同等の対応です
Firefox Android Firefox Android
最新版
デスクトップ版と同等の対応です

※ バージョン情報は MDN に基づいています。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。