2011-07-18 205 views
8

我是新来的CSS,我下面的一本书,例如:CSS内容属性不显示

Iv'e复制从书中以下并将其保存为HTML。 所有的CSS属性似乎工作,除了“内容”属性不显示。提前感谢。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html> 
    <head> 
     <title> The content property </title> 
     <style type='text/css' media='all'> 
      div { 
       content: "Hello, world!"; 
      } 
     </style> 
    </head> 
    <body> 
     <div></div> 
    </body> 
</html> 

回答

15

content使用与:before:after像这样:

div:after 
{ 
    content: "Hello, world!"; 
} 

不管,我只用content在特殊情况下(以清除浮动元素,例如)。我从来没有真正使用它来插入内容。无论如何,您通常都希望将内容和演示文稿分开,所以我认为这是一个糟糕的主意。你在读哪本书? :)

+0

Wiley-Wrox开始 - Css - 级联样式表为网页设计(2005)和文本似乎不止一次这样做。旧书?或只是不好的编辑? – Greycrow

+2

红色警报...网页设计层叠样式表(2005)...自2005年以来soooo发生了很大变化。我强烈建议您购买一本新书。 – AlienWebguy

+0

谢谢...老图书馆的书...将得到新的:) – Greycrow

12

content属性仅适用于CSS伪元素如:before:after

你不能用它来设置任意元素的内容。

+0

该答案对所有浏览器正确,但Opera。测试与http://jsfiddle.net/H2LS6/ – kay

5

content属性只适用于:before:after到前面或后面附加的内容说的节点,就像这样:

CSS:

.email-address:before { 
    content: "Email address: "; 
} 

HTML:

<ul> 
    <li class="email-address">[email protected]</li> 
</ul> 

的输出将是

•电子邮件地址:[email protected]