contentとは、指定した条件に一致する部分の前後に文字列や画像を挿入するCSSプロパティで、:beforまたは:after偽要素と共に使われます。contentの使い方をご紹介します。
content: normal | none | [string | uri | counter | open-quote | close-quote ]+ | inherit
contentプロパティの値には、次のうちいずれかを指定する。
url(
uri
)
の形式で指定する。
<style>
#samp1:before {
content: "inserted content ";
}
</style>
<p id="samp1">sample</p>
sample
<style>
#samp2:after {
content: " inserted content";
}
</style>
<p id="samp2">sample</p>
sample
<style>
#samp3:before {
content: open-quote;
}
#samp3:after {
content: close-quote;
}
</style>
<p id="samp3">sample</p>
sample
content CSSプロパティでUnicodeを扱うには、円記号(バックスラッシュ)に続けて、頭の0を除いたUnicodeを指定する。
たとえば、段落記号(U+00B6)を頭に付けるには、CSSを次のようにしていする。
<style>
.pilcrow:before {
content: "\B6";
}
</style>
<p class="pilcrow">
ある朝、目を覚ました時、これはもうぐずぐずしてられない、と思ってしまったのだ。
</p>
ある朝、目を覚ました時、これはもうぐずぐずしてられない、と思ってしまったのだ。
content CSSプロパティでは実体参照を使えない。content CSSプロパティで特殊文字を挿入するには、Unicodeで指定する。
特殊記号 | 実体参照 | Unicode |
---|---|---|
" | " | U+0022 |
& | & | U+0026 |
> | > | U+003C |
< | < | U+003E |
content CSSプロパティで画像を挿入するには、画像のURIを指定する。
<style>
.marker:before {
content: url(https://segakuin.com/css/img/marker.gif);
}
</style>
<p class="marker">
私はインドのデリーにいて、これから南下してゴアに行こうか、北上してカシミールに向かおうか迷っていた。
</p>
私はインドのデリーにいて、これから南下してゴアに行こうか、北上してカシミールに向かおうか迷っていた。
content CSSプロパティでタグは使用できないため、<br>
を挿入できない。content CSSプロパティで改行させるには、"\A" を挿入したうえで、white-space:pre;
を指定する。
:before {
content: "\A";
white-space: pre;
}
content CSSプロパティで連番を振るには、counter 関数を使う。
<style>
body {
counter-reset: chapter
}
h4:before {
content: "第" counter(chapter) "章 ";
counter-increment: chapter;
}
h4 {
counter-reset: section;
}
h5:before {
content: counter(chapter) "." counter(section) " ";
counter-increment: section;
}
</style>
<h4>香港・マカオ</h4>
<h5>朝の光</h5>
<h5>黄金宮殿</h5>
<h4>マレー半島・シンガポール</h4>
<h5>メナムから</h5>
カウンターの値をリセットする。
counter-reset: counter [integer]
h1 {
counter-reset: chapter
}
h1 {
counter-reset: chapter -1
}
カウンターの値を増やす。
counter-increment: counter [integer]
h1 {
counter-increment: chapter
}
h1 {
counter-increment: chapter 10
}
カウンターに値を設定する。
counter-set: counter [integer]
h1 {
counter-set: chapter
}
h1 {
counter-set: chapter 10
}
CSSには次のプロパティがある。
World Wide Web Consortium 2023. CSS Generated Content Module Level 3
Web Hypertext Application Technology Working Group (2022) "Named character references" HTML Living Standard