zoukankan      html  css  js  c++  java
  • css counter计数器与content总结

      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>

    最终结果如下:

  • 相关阅读:
    NSURLConnection实现文件上传和AFNetworking实现文件上传
    scrollToItemAtIndexPath: atScrollPosition: animated:
    UIViewControllerTransitioningDelegate, UIViewControllerAnimatedTransitioning
    界面传值时数组赋值问题
    安装cocoapods遇到两大坑-Ruby版本升级和Podfile的配置
    iOS通知的整理笔记
    iOS简单实现毛玻璃效果
    iOS模态弹出半透明视图控制器
    友盟SDK实现分享
    iOS 本地存储四种方法
  • 原文地址:https://www.cnblogs.com/lilacmemo/p/8600743.html
Copyright © 2011-2022 走看看