--- title: content slug: Web/CSS/content tags: - CSS 属性 - Generated Content - 生成内容 translation_of: Web/CSS/content ---
{{ CSSRef() }}
CSS的 content
CSS 属性用于在元素的 {{ cssxref("::before") }} 和 {{ cssxref("::after") }} 伪元素中插入内容。使用content
属性插入的内容都是匿名的可替换元素。
{{cssinfo}}
Formal syntax: {{csssyntax("content")}}
content: normal /* Keywords that cannot be combined with other values */ content: none content: 'prefix' /* <string> value, non-latin characters must be encoded e.g. \00A0 for */ content: url(http://www.example.com/test.html) /* <uri> value */ content: chapter_counter /* <counter> values */ content: attr(value string) /* attr() value linked to the HTML attribute value */ content: open-quote /* Language- and position-dependant keywords */ content: close-quote content: no-open-quote content: no-close-quote content: open-quote chapter_counter /* Except for normal and none, several values can be used simultaneously */ content: inherit
none
normal
:before
和 :after
伪类元素中会被视为 none
url()
counter()
或 counters()
。前面一个有两种形式:counter(name)
或 counter(name,style)
。产生的内容是该伪类元素指定名称的最小范围的计数;格式由style指定(默认是'decimal'——十进制数字)。后一个函数同样也有两种形式:counters(name,string)
或 counters(name,string,style)
。The generated text is the value of all counters with the given name in scope at this pseudo-element, from outermost to innermost separated by the specified string. The counters are rendered in the indicated style ('decimal' by default). See the section on automatic counters and numbering for more information. The name must not be 'none', 'inherit' or 'initial'. Such a name causes the declaration to be ignored.attr(X)
open-quote
| close-quote
no-open-quote
| no-close-quote
<h1>5</h1> <p> We shall start this with a quote from 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> <h1>6</h1> <p> Here we shall quote the Mozilla Manifesto, <q cite="http://www.mozilla.org/en-US/about/manifesto/"> Individuals must have the ability to shape the Internet and their own experiences on the Internet.</q> And so, we can infer that contributing to the open web, can protect our own individual experiences on it. </p>
q { color: #00008B; font-style: italic; } q::before { content: open-quote } q::after { content: close-quote } h1::before { content: "Chapter "; }
{{ EmbedLiveSample('代码举例_-_标题和引号', 460, 100) }}
<a href="http://www.mozilla.org/en-US/">Home Page</a>
a::before{ content: url(http://www.mozilla.org/favicon.ico) " MOZILLA: "; font: x-small Arial,freeSans,sans-serif; color: gray; }
{{ EmbedLiveSample('代码举例_-_link前面加一个icon', 200, 60) }}
<div> <ul class="brightIdea"> <li>This is my first idea</li> <li>and another good idea</li> </ul> </div>
/* first import the icon from a suitable site */ @import url(http://weloveiconfonts.com/api/?family=entypo); .brightIdea li::after{ content: '\1f4a1'; font-family: 'entypo', sans-serif; }
{{EmbedLiveSample('代码举例_-_自定义列表后面加加文字', 300, 100)}}
<h2>Paperback best sellers</h2> <ol> <li>Political thriller</li> <li class="newEntry">Halloween Stories</li> <li>My Biography</li> <li class="newEntry">Vampire Romance</li> </ol>
/* use a class rather that an element selector to give more flexibility. Simple string example, but don't forget add a leading space in the text string for spacing purposes */ .newEntry::after { content: " New!"; color: red; }
{{ EmbedLiveSample('Code_sample_-_class_based_example', 300, 200) }}
<ul> <li><a id="moz" href="http://www.mozilla.org/"> Mozilla Home Page</a></li> <li><a id="mdn" href="https://developer.mozilla.org/"> Mozilla Developer Network</a></li> <li><a id="w3c" href="http://www.w3c.org/"> World Wide Web Consortium</a></li> </ul>
a { text-decoration: none; border-bottom: 3px dotted navy; } a::after { content: " (" attr(id) ")"; } #moz::before { content:url(https://mozorg.cdn.mozilla.net/media/img/favicon.ico) ; } #mdn::before { content:url(https://mdn.mozillademos.org/files/7691/mdn-favicon16.png) ; } #w3c::before { content:url(http://w3c.org/2008/site/images/favicon.ico) ; } li { margin: 1em; }
{{ EmbedLiveSample('Code_sample_-_rich_link_styling', 340, 200) }}
Specification | Status | Comment |
---|---|---|
{{ SpecName('CSS2.1', 'generate.html#content', 'content') }} | {{ Spec2('CSS2.1') }} |
{{ CompatibilityTable() }}
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 1.0 | {{ CompatGeckoDesktop("1") }} | 8.0 | 4.0 | 1.0 |
url() support |
1.0 | {{ CompatGeckoDesktop("1") }} | 8.0 | 7.0 | 1.0 |
Feature | Android | Firefox Mobile (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | 1.0 | {{ CompatGeckoMobile("1.0") }} | 8.0 | 9.5 | 1.0 |