content
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since â¨2015å¹´7æâ©.
* Some parts of this feature may have varying levels of support.
content 㯠CSS ã®ããããã£ã§ãããè¦ç´ ãçæãããå¤ã§ç½®ãæãã¾ããããã¯ãè¦ç´ ã¾ãã¯æ¬ä¼¼è¦ç´ ã®å
é¨ã§ã¬ã³ããªã³ã°ããããã®ãå®ç¾©ããããã«ä½¿ç¨ãããã¨ãã§ãã¾ããè¦ç´ ã®å ´åã content ããããã£ã¯ãè¦ç´ ãé常éãã¬ã³ããªã³ã°ããããï¼normal ã¾ã㯠noneï¼ãç»åï¼ããã³é¢é£ä»ãããã "alt" ããã¹ãï¼ã«ç½®ãæããããããæå®ãã¾ããæ¬ä¼¼è¦ç´ ã¨ãã¼ã¸ã³ããã¯ã¹ã®å ´åã content ã¯ãã³ã³ãã³ããç»åãããã¹ãããã®ä¸¡æ¹ãã¾ãã¯ãªãã¨ãã¦å®ç¾©ããè¦ç´ ãå
¨ä½çã«ã¬ã³ããªã³ã°ããããã©ãããæ±ºå®ãã¾ãã
content ããããã£ã使ç¨ãã¦æ¿å
¥ããããªãã¸ã§ã¯ãã¯ã ç¡åã®ç½®æè¦ç´ ã«ãªãã¾ãã
試ãã¦ã¿ã¾ããã
.topic-games::before {
content: "ð® " / "ã²ã¼ã ";
}
.topic-weather::before {
content: "â
" / "ããã";
}
.topic-hot::before {
content: url("/shared-assets/images/examples/fire.png") / "ç";
margin-right: 6px;
}
<p class="topic-games">ã²ã¼ã ãã¥ã¼ã¹: æ°ãã inFamous ã¯äºå®ããã¦ãã¾ããã</p>
<p class="topic-weather">
仿¥ã®å¤©æ°: æããæ¿ããåµãç«å·»
</p>
<p class="topic-hot">ãã¬ã³ãè¨äº: ä»é±ã®å¿
è¦åç»</p>
æ§æ
/* ä»ã®å¤ã¨çµã¿åããããã¨ãã§ããªããã¼ã¯ã¼ã */
content: normal;
content: none;
/* <image> å¤ */
content: url("http://www.example.com/test.png");
content: linear-gradient(#e66465, #9198e5);
content: image-set("image1x.png" 1x, "image2x.png" 2x);
/* çæã³ã³ãã³ãã®ä»£æ¿ããã¹ããã¬ãã« 3 ã®ä»æ§æ¸ã§è¿½å */
content: url("../img/test.png") / "This is the alt text";
/* <string> å¤ */
content: "unparsed text";
/* <counter> å¤ãä»»æã§ <list-style-type> */
content: counter(chapter_counter);
content: counter(chapter_counter, upper-roman);
content: counters(section_counter, ".");
content: counters(section_counter, ".", decimal-leading-zero);
/* HTML 屿§å¤ã«ãªã³ã¯ãã attr() å¤ */
content: attr(href);
/* è¨èªãä½ç½®ã«ä¾åãããã¼ã¯ã¼ã */
content: open-quote;
content: close-quote;
content: no-open-quote;
content: no-close-quote;
/* normal 㨠none ãé¤ããè¤æ°ã®å¤ãåæã«ä½¿ç¨å¯ */
content: "prefix" url(http://www.example.com/test.png);
content: "prefix" url("/img/test.png") "suffix" / "Alt text";
content: open-quote counter(chapter_counter);
/* ã°ãã¼ãã«å¤ */
content: inherit;
content: initial;
content: revert;
content: revert-layer;
content: unset;
å¤
å¤ã¯æ¬¡ã®ããããã§ãã
- 2 ã¤ã®ãã¼ã¯ã¼ãå¤ã®ãã¡ã® 1 㤠-
noneã¾ãã¯normal - DOM ãã¼ããç½®ãæããå ´åã¯
<content-replacement>ã<content-replacement>ã¯å¸¸ã«<image>ã§ãã - æ¬ä¼¼è¦ç´ ã¨ãã¼ã¸ã³ããã¯ã¹ãç½®ãæããå ´åã¯
<content-list>ã<content-list>ã¯ãæå®ãããé ã§ç¾ãã 1 ã¤ä»¥ä¸ã®ç¡åããã¯ã¹ã®ãªã¹ãã§ãã<content-list>ã®ã¢ã¤ãã ã¯<string>ã<image>ã<counter>ã<quote>ã<target>ã<leader()>ã®ããããã§ãã - ãªãã·ã§ã³ã®ä»£æ¿ããã¹ãå¤ã¨ãã¦ãã¹ã©ãã·ã¥ (
/) ã§å§ã¾ã<string>ã¾ãã¯<counter>ã使ç¨ã§ãã¾ãã
ä¸è¨ã§æãããã¼ã¯ã¼ãã¨ãã¼ã¿åã«ã¤ãã¦ã¯ãä¸è¨ã§ããã«è©³ãã説æãã¾ãã
none-
æ¬ä¼¼è¦ç´ ã«é©ç¨ãããå ´åã¯ããã®æ¬ä¼¼è¦ç´ ã¯çæããã¾ããã è¦ç´ ã«é©ç¨ãããå ´åã¯ããã®å¤ã¯å¹æãããã¾ããã
normal-
æ¢å®å¤ã§ãã
::beforeããã³::afteræ¬ä¼¼è¦ç´ ã§ã¯noneã¨ãã¦è¨ç®ããã¾ãããã以å¤ã®æ¬ä¼¼è¦ç´ ã§ã¯ã::markerã::placeholderã::file-selector-buttonã«ããã¦ãã³ã³ãã³ãã¯åæï¼ã¾ãã¯é常ï¼ã³ã³ãã³ããæå¾ ããã¾ããé常ã®è¦ç´ ã¾ãã¯ãã¼ã¸ãã¼ã¸ã³ããã¯ã¹ã®å ´åãããã¯è¦ç´ ã®åå«ã«è¨ç®ããã¾ãã <string>-
ä¸è´ããåä¸å¼ç¨ç¬¦ã¾ãã¯äºéå¼ç¨ç¬¦ã§å²ã¾ããæåã®ä¸¦ã³ãè¤æ°ã®æååå¤ã¯é£çµããã¾ãï¼CSS ã«ã¯é£çµæ¼ç®åã¯ããã¾ããï¼ã
<image>-
<image>ã§ã表示ããç»åã表ãã¾ãã<url>ãimage-set()ã<gradient>ã®ãã¼ã¿åãã¾ãã¯element()颿°ã§å®ç¾©ãããã¦ã§ããã¼ã¸èªèº«ã®ä¸é¨ã§ãã <counter>-
<counter>ã®å¤ã¯ CSS ã«ã¦ã³ã¿ã¼ã®å¤ã§ãé常ã¯<counter-reset>ããã³<counter-increment>ããããã£ã§å®ç¾©ãããè¨ç®ã«ãã£ã¦çã¿åºãããæ°å¤ã§ããcounter()ã¾ãã¯counters()颿°ã使ç¨ãã¦è¡¨ç¤ºãããã¨ãã§ãã¾ããcounter()-
counter()颿°ã«ã¯ã 'counter(åå)' ã¾ã㯠'counter(åå, ã¹ã¿ã¤ã«)' ã®äºã¤ã®å½¢å¼ãããã¾ããçæãããããã¹ãã¯ããã®æ¬ä¼¼è¦ç´ ã®ã¹ã³ã¼ãã«ããããã®ååã®æãå å´ã®ã«ã¦ã³ã¿ã¼ã§ãã<list-style-type>ã§æå®ãããã¹ã¿ã¤ã«ã§æ´å½¢ããã¾ãï¼decimalãæ¢å®å¤ã§ãï¼ã counters()-
counters()颿°ãã 'counters(åå, æåå)' ã¾ã㯠'counters(åå, æåå, ã¹ã¿ã¤ã«)' ã®äºã¤ã®å½¢å¼ãããã¾ããçæãããããã¹ãã¯ããã®æ¬ä¼¼è¦ç´ ã®ã¹ã³ã¼ãã«ããããã®ååã®ãã¹ã¦ã®ã«ã¦ã³ã¿ã¼ã®å¤ã§ãããå¤å´ããå å´ã«åãã¦ãæå®ãããæååã§åºåããã¾ãã<list-style-type>ã§æå®ãããã¹ã¿ã¤ã«ã§æ´å½¢ããã¾ãï¼decimalãæ¢å®å¤ã§ãï¼ã
<quote>-
<quote>ãã¼ã¿åã«ã¯ãè¨èªã¾ãã¯ä½ç½®ã«ä¾åãããã¼ã¯ã¼ãã§ããopen-quoteããã³close-quote-
ãããã®å¤ã¯ãé©åãª
quotesããããã£ã§æå®ãããé©åãªæååã«ç½®ãæãããã¾ãã no-open-quoteããã³no-close-quote-
ã³ã³ãã³ãã«ã¯ä½ãæ¿å ¥ããã¾ããããå¼ç¨ç¬¦ã®å ¥ãåã¬ãã«ãå¢å ï¼æ¸å°ï¼ãã¾ãã
<target>-
<target>ãã¼ã¿åã«ã¯ããªã³ã¯ã®ã¿ã¼ã²ããå´ããåå¾ããç¸äºåç §ã使ãã 3 ã¤ã®ã¿ã¼ã²ãã颿°ã<target-counter()>ã<target-counters()>ã<target-text()>ãå«ã¾ãã¾ãã形弿æ³ãåç §ãã¦ãã ããã <leader()>-
<leader()>ãã¼ã¿åã«ã¯ããªã¼ãã¼é¢æ°ã¨ãã¦leader( <leader-type> )ãå«ã¾ãã¾ãããã®é¢æ°ã¯ããã¼ã¯ã¼ãå¤dottedãsolidãã¾ãã¯spaceï¼ããããleader(".")ãleader("_")ãleader(" ")ã«ç¸å½ï¼ãã¾ãã¯<string>ã弿°ã¨ãã¦åãå ¥ãã¾ãã対å¿ãã¦ãã¦ãcontentã®å¤ã¨ãã¦ä½¿ç¨ãããå ´åãæå®ããããªã¼ãã¼ã®ç¨®é¡ã¯ç¹°ãè¿ããã¿ã¼ã³ã¨ãã¦æ¿å ¥ãããæ°´å¹³ç·ä¸ã®ã³ã³ãã³ããè¦è¦çã«æ¥ç¶ãã¾ãã attr(x)-
CSS 颿°
attr(x)ã¯ã鏿ãããè¦ç´ ãã¾ãã¯æ¬ä¼¼è¦ç´ ã®å ã¨ãªãè¦ç´ ã®å±æ§å¤ãåå¾ãã¾ããè¦ç´ ã®å±æ§xã®å¤ã¯ã屿§åã表ãè§£éåã®æååã§ãã屿§xãåå¨ããªãå ´åã¯ã空æååãè¿å¤ã¨ãã¦è¿ããã¾ãã 屿§å弿°ã®å¤§æåå°æåã®åºå¥ã¯ãææ¸å ã®è¨èªã«ä¾åãã¾ãã - 代æ¿ããã¹ã:
/ <string> | <counter> -
ç»åã
<content-list>ã¢ã¤ãã ã«ã¯ãã¹ã©ãã·ã¥ã¨ããã¹ãæååã¾ãã¯ã«ã¦ã³ã¿ã¼ã追å ãããã¨ã§ä»£æ¿ããã¹ããæå®ã§ãã¾ãã代æ¿ããã¹ãã¯ãã¹ã¯ãªã¼ã³ãªã¼ãã¼ã«ããé³å£°åºåã«æå³éãã«æ©è½ãã¾ãããä¸é¨ã®ãã©ã¦ã¶ã¼ã§ã表示ãããå ´åãããã¾ãã/ <string>ã¾ãã¯/ <counter>ãã¼ã¿åã§ããã®è¦ç´ ã®ã代æ¿ããã¹ããã表ãã¾ãã
å ¬å¼å®ç¾©
| åæå¤ | normal |
|---|---|
| é©ç¨å¯¾è±¡ | ãã¹ã¦ã®è¦ç´ ãããªã¼ã«ç¾ããæ¬ä¼¼è¦ç´ ããã¼ã¸ã®ãã¼ã¸ã³ããã¯ã¹ |
| ç¶æ¿ | ãªã |
| è¨ç®å¤ | è¦ç´ ã®å ´åã¯ã常㫠normal ã¨è¨ç®ãããã ::before ããã³ ::after ã®å ´åã normal ãæå®ããã¦ããã°è¨ç®å¤ã¯ noneããã以å¤ã®å ´åã URI å¤ã®å ´åã¯çµ¶å¯¾ URIã attr() å¤ã®å ´åã¯çµæã®æååããã®ä»ã®ãã¼ã¯ã¼ãã«ã¤ãã¦ã¯æå®éãã |
| ã¢ãã¡ã¼ã·ã§ã³ã®ç¨®é¡ | 颿£å¤ |
形弿æ³
content =
normal |
none |
[ <content-replacement> | <content-list> ] [ / [ <string> | <counter> | <attr()> ]+ ]? |
<element()>
<content-replacement> =
<image>
<content-list> =
[ <string> | <image> | <attr()> | contents | <quote> | <leader()> | <target> | <string()> | <content()> | <counter> ]+
<counter> =
<counter()> |
<counters()>
<attr()> =
attr( <attr-name> <attr-type>? , <declaration-value>? )
<element()> =
element( <id-selector> )
<image> =
<url> |
<image()> |
<image-set()> |
<cross-fade()> |
<element()> |
<gradient>
<quote> =
open-quote |
close-quote |
no-open-quote |
no-close-quote
<leader()> =
leader( <leader-type> )
<target> =
<target-counter()> |
<target-counters()> |
<target-text()>
<string()> =
string( <custom-ident> , [ first | start | last | first-except ]? )
<content()> =
content( [ text | before | after | first-letter | marker ]? )
<counter()> =
counter( <counter-name> , <counter-style>? )
<counters()> =
counters( <counter-name> , <string> , <counter-style>? )
<attr-name> =
[ <ident-token>? '|' ]? <ident-token>
<attr-type> =
type( <syntax> ) |
raw-string |
number |
<attr-unit>
<id-selector> =
<hash-token>
<image()> =
image( <image-tags>? [ <image-src>? , <color>? ]! )
<image-set()> =
image-set( <image-set-option># )
<cross-fade()> =
cross-fade( <cf-image># )
<leader-type> =
dotted |
solid |
space |
<string>
<target-counter()> =
target-counter( [ <string> | <url> ] , <custom-ident> , <counter-style>? )
<target-counters()> =
target-counters( [ <string> | <url> ] , <custom-ident> , <string> , <counter-style>? )
<target-text()> =
target-text( [ <string> | <url> ] , [ content | before | after | first-letter ]? )
<counter-style> =
<counter-style-name> |
<symbols()>
<syntax> =
'*' |
<syntax-component> [ <syntax-combinator> <syntax-component> ]* |
<syntax-string>
<image-tags> =
ltr |
rtl
<image-src> =
<url> |
<string>
<image-set-option> =
[ <image> | <string> ] [ <resolution> || type( <string> ) ]?
<cf-image> =
[ <image> | <color> ] &&
<percentage [0,100]>?
<symbols()> =
symbols( <symbols-type>? [ <string> | <image> ]+ )
<syntax-component> =
<syntax-single-component> <syntax-multiplier>? |
'<' transform-list '>'
<syntax-combinator> =
'|'
<syntax-string> =
<string>
<symbols-type> =
cyclic |
numeric |
alphabetic |
symbolic |
fixed
<syntax-single-component> =
'<' <syntax-type-name> '>' |
<ident>
<syntax-multiplier> =
'#' |
'+'
<syntax-type-name> =
angle |
color |
custom-ident |
image |
integer |
length |
length-percentage |
number |
percentage |
resolution |
string |
time |
url |
transform-function
ã¢ã¯ã»ã·ããªãã£
CSS ã§çæãããã³ã³ãã³ãã¯ã DOM ã«ã¯å«ã¾ãã¾ããããã®ãããããã¯ã¢ã¯ã»ã·ããªãã£ããªã¼ã§ã¯è¡¨ç¾ããããæ¯æ´æè¡ã¨ãã©ã¦ã¶ã¼ã®çµã¿åããã«ãã£ã¦ã¯ã¢ãã¦ã³ã¹ãããªããã¨ãããã¾ãããã®ã³ã³ãã³ãããã¼ã¸ã®ç®çãçè§£ããä¸ã§éè¦ãªæ å ±ãå«ãã§ããã®ã§ããã°ãã¡ã¤ã³ææ¸ã«å«ããã»ããé©åã§ãã
æ¿å ¥ãããã³ã³ãã³ããè£ é£¾çãªãã®ã§ãªãå ´åã¯ãæ¯æ´æè¡ã«æ å ±ãæå®ããã CSS ãç¡å¹ã®å ´åã«ãå©ç¨ã§ãããã¨ã確èªãã¦ãã ããã
ä¾
æåã® 5 ã¤ã®ä¾ã¯ãæ¬ä¼¼è¦ç´ ã«çæã³ã³ãã³ããçæããããã®ã§ããæ®ãã® 3 ã¤ã¯è¦ç´ ã®ç½®æã®ä¾ã§ãã
è¦ç´ ã®ã¯ã©ã¹ã«åºã¥ãã¦æååã追å
ä¾ãã°ããã®ä¾ã§ã¯ãç¹å®ã®ã¯ã©ã¹åãæã¤è¦ç´ ã®ããã¹ãã®å¾ã«ãçæãããããã¹ããæ¿å ¥ããã¾ããããã¹ãã¯èµ¤è²ã§è¡¨ç¤ºããã¾ãã
HTML
<h2>Paperback Best Sellers</h2>
<ol>
<li>Political Thriller</li>
<li class="new-entry">Halloween Stories</li>
<li>My Biography</li>
<li class="new-entry">Vampire Romance</li>
</ol>
CSS
.new-entry::after {
content: " New!"; /* å
é ã®ç©ºç½ã¯ã DOM ãã¼ãã®ã³ã³ãã³ãã¨
追å ããçæã³ã³ãã³ããåé¢ããããã®
ãã®ã§ãã */
color: red;
}
çµæ
å¼ç¨ç¬¦
ãã®ä¾ã§ã¯ãå¼ç¨é¨åã®å¨ãã«ç°ãªãè²ã®å¼ç¨ç¬¦ãæ¿å ¥ãã¾ãã
HTML
<p>
According to Sir Tim Berners-Lee,
<q cite="http://www.w3.org/People/Berners-Lee/FAQ.html#Internet">
I was lucky enough to invent the Web at the time when the Internet already
existed - and had for a decade and a half.
</q>
We must understand that there is nothing fundamentally wrong with building on
the contributions of others.
</p>
<p lang="fr-fr">
Mais c'est Magritte qui a dit,
<q lang="fr-fr"> Ceci n'est pas une pipe. </q>.
</p>
CSS
q {
color: #00f;
}
q::before,
q::after {
font-size: larger;
color: #f00;
background: #ccc;
}
q::before {
content: open-quote;
}
q::after {
content: close-quote;
}
çµæ
çæãããå¼ç¨ç¬¦ã®ç¨®é¡ã¯ãè¨èªã«ãã£ã¦ç°ãªãã¾ãã ãã©ã¦ã¶ã¼ã¯æ¢å®ã§ã¯ã <q> è¦ç´ ã®åå¾ã«éå§å¼ç¨ç¬¦ã¨çµäºå¼ç¨ç¬¦ã追å ãã¾ããä¾ãã°ããã®ä¾ã®å¼ç¨ç¬¦ã¯ãæç¤ºçã«è¨å®ããã¦ããªãå ´åã§ã表示ããã¾ãã content ããããã£ã®å¤ããããã no-open-quote 㨠no-close-quote ã«è¨å®ããããã¾ãã¯ä¸¡æ¹ã none ã«è¨å®ãããã¨ã§ãå¼ç¨ç¬¦ãç¡å¹ã«ãããã¨ãã§ãã¾ãã ã¾ãã代ããã« quotes ããããã£ã none ã«è¨å®ãããã¨ã§ãå¼ç¨ç¬¦ãç¡å¹ã«ãããã¨ãã§ãã¾ãã
ããã¹ãããªã¹ãã¢ã¤ãã ã«ã¦ã³ã¿ã¼ã«è¿½å
ãã®ä¾ã§ã¯ããã¹ã¦ã®ãªã¹ãã¢ã¤ãã ã®å
é ã«è¿½å ããã 2 ã¤ã®æååã§æã¾ããã«ã¦ã³ã¿ã¼ãçµåããé åºãªããªã¹ã (<ol>) å
ã®ãªã¹ãã¢ã¤ãã (<li>) ã«å¯¾ãã¦ããã詳細ãªãã¼ã«ã¼ã使ãã¾ãã
HTML
<ol>
<li>ç¬</li>
<li>ç«</li>
<li>
é³¥
<ol>
<li>ãã¯ãã¦</li>
<li>ãªã¦ã </li>
<li>é£ã¹ãªãé³¥</li>
</ol>
</li>
<li>æè¢é¡</li>
</ol>
CSS
ol {
counter-reset: items;
margin-left: 2em;
}
li {
counter-increment: items;
}
li::marker {
content: "item " counters(items, ".", numeric) ": ";
}
çµæ
åãªã¹ãã¢ã¤ãã ã®ãã¼ã«ã¼ã§çæãããã³ã³ãã³ãã«ã¯ãæ¥é è¾ã¨ã㦠"item" ã¨ããããã¹ãã追å ãããæ¥é è¾ã¨ã«ã¦ã³ã¿ã¼ãåºåã空ç½ãå«ã¾ããæ¬¡ã® ": "ãã³ãã³ãããã«ç©ºç½ãç¶ãã¾ãã counters() 颿°ã¯ãæ°å¤ã¢ã¤ãã ã«ã¦ã³ã¿ã¼ãå®ç¾©ãããã®æ°å¤ã¯ãã»ã¨ãã©ã®ãã©ã¦ã¶ã¼ã§ã¯ããªãªã (.) ã§åºåããã¾ãã
屿§å¤ã®æåå
ãã®ä¾ã¯ãå°å·ç¨ã¹ã¿ã¤ã«ã§æç¨ã§ãããã®ã¹ã¿ã¤ã«ã·ã¼ãã¯å±æ§ã»ã¬ã¯ã¿ã¼ã使ç¨ãã¦ãå®å
¨ä¿®é£¾ãããä¿è·ããããªã³ã¯ããã¹ã¦é¸æãããªã³ã¯ããã¹ãã®å¾ã« href 屿§ã®å¤ã ::after æ¬ä¼¼è¦ç´ ã®ã³ã³ãã³ãã¨ãã¦è¿½å ãã¾ãã
HTML
<ul>
<li><a href="https://mozilla.com">Mozilla</a></li>
<li><a href="/">MDN</a></li>
<li><a href="https://openwebdocs.org">OpenWebDocs</a></li>
</ul>
CSS
a[href^="https://"]::after {
content: " (URL: " attr(href) ")";
color: darkgreen;
}
çµæ
çæãããã³ã³ãã³ãã¯ã空ç½ä»ãã® "URL: " 㨠href 屿§ã®å¤ã®å
¨ä½ãæ¬å¼§ã§å²ãã ãã®ã§ãã
代æ¿ããã¹ãä»ãã®ç»åã追å
ãã®ä¾ã§ã¯ããã¹ã¦ã®ãªã³ã¯ã®åã«ç»åãæ¿å
¥ãã¾ãã2ã¤ã®contentå¤ãæä¾ããã¦ãã¾ããå¾ã®æ¹ã®contentå¤ã«ã¯ãã¹ã¯ãªã¼ã³ãªã¼ãã¼ãé³å£°ã¨ãã¦åºåã§ãã代æ¿ããã¹ãä»ãã®ç»åãå«ã¾ãã¦ãã¾ãã
HTML
<a href="https://www.mozilla.org/ja/">Mozilla Home Page</a>
CSS
ç»åã表示ããã代æ¿ããã¹ããè¨å®ããCSSã¯ä¸è¨ã«ç¤ºãã¾ãã ã¾ããã³ã³ãã³ãã®ãã©ã³ãã¨è²ãè¨å®ãã¾ãã
a::before {
content: url("https://mozorg.cdn.mozilla.net/media/img/favicon.ico") /
" MOZILLA: ";
}
çµæ
ã¡ã¢: 代æ¿ããã¹ãã®å¤ã¯ããã©ã¦ã¶ã¼ã®ã¢ã¯ã»ã·ããªãã£ããªã¼ã«å ¬éããã¾ãããã©ã¦ã¶ã¼ãã¨ã®ã¢ã¯ã»ã·ããªãã£ããã«ã«ã¤ãã¦ã¯ãé¢é£æ å ±ã®ç¯ãåç §ãã¦ãã ããã
ã¹ã¯ãªã¼ã³ãªã¼ãã¼ã使ç¨ãã¦ããå ´åã¯ãç»åã«å°éããã¨ãã« "MOZILLA" ã¨ããåèªãèªã¿ä¸ããããã¯ãã§ããéçºè
ãã¼ã«ã®é¸æãã¼ã«ã§ ::before æ¬ä¼¼è¦ç´ ã鏿ããã¢ã¯ã»ã·ããªãã£ããã«ã§ã¢ã¯ã»ã·ãã«åã表示ãããã¨ãã§ãã¾ãã
URL ã«ããè¦ç´ ã®ç½®æ
ãã®ä¾ã§ã¯ãé常ã®è¦ç´ ãç½®ãæãããã¾ããè¦ç´ ã®ã³ã³ãã³ãã¯ã <url> åã使ç¨ã㦠SVG ã«ç½®ãæãããã¾ãã
æ¬ä¼¼è¦ç´ ã¯ç½®æè¦ç´ ã§ã¯ã¬ã³ããªã³ã°ããã¾ããããã®è¦ç´ ãç½®æãããããã::after ã¾ã㯠::before ã¨ä¸è´ãããã®ã¯çæãé©ç¨ãããã¾ãããããã示ãããã«ã ::after 宣è¨ãããã¯ãè¨è¼ããçæã³ã³ãã³ãã¨ã㦠id ã追å ãããã¨ãã¾ãããã®æ¬ä¼¼è¦ç´ ã¯ãè¦ç´ ãç½®æãããããçæããã¾ããã
HTML
<div id="replaced">ãã®ã³ã³ãã³ããç½®ãæãããã¾ãã</div>
CSS
#replaced {
content: url("mdn.svg");
}
/* è¦ç´ ã®ç½®ãæãã«å¯¾å¿ãã¦ããå ´åã¯è¡¨ç¤ºãããªã */
div::after {
content: " (" attr(id) ")";
}
çµæ
ï¼æ¬ä¼¼è¦ç´ ã§ã¯ãªãï¼é常ã®è¦ç´ ã§ã³ã³ãã³ããçæããå ´åãè¦ç´ å
¨ä½ãç½®ãæãããã¾ããããªãã¡ã ::before ããã³ ::after æ¬ä¼¼è¦ç´ ãçæãããªãã¨ãããã¨ãæå³ãã¦ãã¾ãã
<gradient> ã«ããè¦ç´ ã®ç½®æ
ãã®ä¾ã§ã¯ãè¦ç´ ã®ã³ã³ãã³ããä»»æã®ç¨®é¡ã® <image> ï¼ãã®å ´å㯠CSS ã°ã©ãã¼ã·ã§ã³ï¼ã«ç½®ãæããæ¹æ³ã示ãã¦ãã¾ãã è¦ç´ ã®ã³ã³ãã³ã㯠linear-gradient() ã«ç½®ãæãããã¦ãã¾ããã¢ã¯ã»ã·ããªãã£ã®ããããã¹ã¦ã®ç»åã«ã¯ä»£æ¿ããã¹ããè¨è¿°ããå¿
è¦ãããã¾ãã
HTML
<div id="replaced">ããã¯æ¶ãã¾ã</div>
CSS
div {
border: 1px solid;
background-color: #ccc;
min-height: 100px;
min-width: 100px;
}
#replaced {
content: repeating-linear-gradient(blue 0, orange 10%) /
"ã°ã©ãã¼ã·ã§ã³ã¨ä»£æ¿ããã¹ãã«å¯¾å¿ãã¦ãã¾ã";
}
çµæ
ãã©ã¦ã¶ã¼ã®äºææ§ä¸è¦§è¡¨ã確èªãã¦ãã ããã ãã¹ã¦ã®ãã©ã¦ã¶ã¼ãã°ã©ãã¼ã·ã§ã³ã«å¯¾å¿ãã¦ãããã¾ãããã¹ã¦ã®ãã©ã¦ã¶ã¼ãè¦ç´ ãç»åã§ç½®ãæãããã¨ãã§ãã¾ããã content ã®å¤ã¨ãã¦ã°ã©ãã¼ã·ã§ã³ã«å¯¾å¿ãã¦ãããã©ã¦ã¶ã¼ã¯éããã¦ãã¾ãã
image-set() ã«ããè¦ç´ ã®ç½®æ
ãã®ä¾ã§ã¯ãè¦ç´ ã®ã³ã³ãã³ãã image-set() ã§ç½®ãæãã¾ããã¦ã¼ã¶ã¼ã®ç»é¢ã®è§£ååº¦ãæ¨æºã§ããã°ã 1x.png ãç»é¢ã«è¡¨ç¤ºãããé«è§£å度ã®ç»é¢ã§ã¯ 2x.png ã®ç»åã表示ããã¾ãã
HTML
<div id="replaced">I disappear!</div>
CSS
#replaced {
content: image-set(
"1x.png" 1x,
"2x.png" 2x
) / "DPI";
}
çµæ
仿§æ¸
| Specification |
|---|
| CSS Generated Content Module Level 3 > # content-property > |
ãã©ã¦ã¶ã¼ã®äºææ§
é¢é£æ å ±
::after::before::marker::scroll-button()::scroll-marker:target-currentcontainquotes<gradient>image-set()<url>- ç½®æè¦ç´
-
CSS çæã³ã³ãã³ãã¢ã¸ã¥ã¼ã«
-
CSS ãªã¹ãã¨ã«ã¦ã³ã¿ã¼ã¢ã¸ã¥ã¼ã«
-
ãã©ã¦ã¶ã¼ã®ã¢ã¯ã»ã·ããªãã£ããã«: Firefox ã¢ã¯ã»ã·ããªãã£ã¤ã³ã¹ãã¯ã¿ã¼ãChrome ã®ã¢ã¯ã»ã·ããªãã£ããã«ãSafari ã®ã¢ã¯ã»ã·ããªãã£ããªã¼