当前位置:首页 >> 网页制作

css counter计数器与content总结

  content属性早在css2.1的时候就被引入了,可以使用:before以及:after伪元素生成内容。content属性现在已经得到大部分浏览器的支持,关于content属性的支持情况可以在caniuse.com网站上进行查找,一下为目前它的支持情况:

css counter计数器与content总结

  content属性最常见的是配合:before或:after来生成内容,默认声称的元素为行内元素:

  以上段代码的作用为在类名为test的div内容的前后加上content中的内容,在content之后还可以设置其它样式,在这里,content相当于伪元素的激活标志,是必不可少的。

div.test:before{
    content: "我在div之前"; 
}
div.test:after{
     content:"我在div之后";
}

  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>

最终结果如下:

css counter计数器与content总结