content属性早在css2.1的时候就被引入了,可以使用:before以及:after伪元素生成内容。content属性现在已经得到大部分浏览器的支持,关于content属性的支持情况可以在caniuse.com网站上进行查找,一下为目前它的支持情况:
content属性最常见的是配合:before或:after来生成内容,默认声称的元素为行内元素:
div.test:before{ content: "我在div之前"; } div.test:after{ content:"我在div之后"; }
以上段代码的作用为在类名为test的div内容的前后加上content中的内容,在content之后还可以设置其它样式,在这里,content相当于伪元素的激活标志,是必不可少的。
content属性的值除了使用文本值之外,还可以通过attr()方法来使用其它标签的属性值:
a.test:after{ content: attr(href); } <a class="test" href="http://www.taobao.com/">欢迎来到 </a>
css计数器出现的比较早,但最近才开始了解。由于css计数器只能跟content属性一起使用时才有作用,而content属性经常与:before和:after伪元素搭配使用,于是就有利计数器,伪元素,content之间不可分割的关系。css计数器主要包含两个属性和一个方法,分别为:
1. counter-reset
该属性定义计数器的名称,可以同时定义多个计数器,定义数字时代表初始值,缺省默认为0:
div.count{
counter-reset: count1 count2;
}
如上代码定义两个计数器count1和count2,初始默认为0。
2. counter-increment
该属性接收两个参数,第一个参数代表计数器的名称,第二个代表每次递增的值,缺省时默认为1
div.count:before{
counter-increment: count1 2;
}
此行代码定义计数器count1单次自增值为,此时计数器默认初始值为0+2=2;若这里将数字2缺省,则默认自增值为1,此时计数器初始值为0+1=1。
3. counter()/counters()
该方法为计数器调用方法,接收两个参数,第一个参数为计数器名称,第二个为数值类型,下来对本案例进行一个小练习:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>counter&content</title> <style> div.conter{ margin-left: 50px; couter-reset: count; /* 定义计数器count */ } .conter p{ height: 40px; border: 1px solid #ffe000; } .conter p:before{ content: counter(count,decimal) "." /*调用计数器 并在数字后添加.*/ counter-increment: count; } </style> </head> <body> <div class="conter"> <p>段落1</p> <p>段落2</p> <p>段落3</p> <p>段落4</p> <p>段落5</p> </div> </body> </html>
最终结果如下: