zoukankan      html  css  js  c++  java
  • CSS3 content属性学习

    css3中出现了 ":before",":after"伪类,

    你可以这样写:

    h1:after{
      content:'h1后插入的文本';
      ...
    }

    这两个选择器的作用以及效果,这里就不在介绍了;主要说一下上面提到的一个css属性【content】用来和:after:before伪元素一起使用,在对象前或后显示内容。

    content的取值:
    normal:默认值。表现与none值相同 none:不生成任何值。
    <attr>:插入标签属性值 <url>:使用指定的绝对或相对地址插入一个外部资源(图像,声频,视频或浏览器支持的其他任何资源) <string>:插入字符串 counter(name):使用已命名的计数器 counter(name,list-style-type):使用已命名的计数器并遵从指定的list-style-type属性 counters(name,string):使用所有已命名的计数器 counters(name,string,list-style-type):使用所有已命名的计数器并遵从指定的list-style-type属性 no-close-quote:并不插入quotes属性的后标记。但增加其嵌套级别 no-open-quote:并不插入quotes属性的前标记。但减少其嵌套级别 close-quote:插入quotes属性的后标记 open-quote:插入quotes属性的前标记

    这里比较不好理解的取值就是:counter(name)这些;

    下面主要总结一下这块,最后会给出各个取值的demo,

    比如我有如下html结构:

    <ul>
        <li>这个是有序列表</li>
        <li>这个是有序列表</li>
        <li>这个是有序列表</li>
        <li>这个是有序列表</li>
        <li>这个是有序列表</li>
    </ul>

    我要在每个li的后面加上当前li【index】值:

    ul li{
      counter-increment:index;
    }
    ul li:after{
        content:'统计:'counter(index);
        display:block;
        line-height:35px;
    }

    效果如图:

    解释:

      count(name)这里的name,必须要提前指定好,否则所有的值都将是0;

       count(name,list-style-type)这里的list-style-type就是css中list-style-type属性的取值;

    下面给出完整DEMO

    <!DOCTYPE html>
    <html lang="zh-cn">
    <head>
    <meta charset="utf-8">
    <title>CSS content</title>
    <meta name="author" content="phpstudy.net">
    <meta name="copyright" content="www.phpstudy.net">
    <style>
    .string p:after {
        margin-left: -16px;
        background: #fff;
        content: "支持";
        color: #f00;
    }
    
    .attr p:after {
        content: attr(title);
    }
    
    .url p:before {
        content: url(https://pic.cnblogs.com/avatar/779447/20160817152433.png);
        display: block;
    }
    
    .test ol {
        margin: 16px 0;
        padding: 0;
        list-style: none;
    }
    
    .counter1 li {
        counter-increment: testname;
    }
    
    .counter1 li:before {
        content: counter(testname)":";
        color: #f00;
        font-family: georgia,serif,sans-serif;
    }
    
    .counter2 li {
        counter-increment: testname2;
    }
    
    .counter2 li:before {
        content: counter(testname2,lower-roman)":";
        color: #f00;
        font-family: georgia,serif,sans-serif;
    }
    
    .counter3 ol ol {
        margin: 0 0 0 28px;
    }
    
    .counter3 li {
        padding: 2px 0;
        counter-increment: testname3;
    }
    
    .counter3 li:before {
        content: counter(testname3,float)":";
        color: #f00;
        font-family: georgia,serif,sans-serif;
    }
    
    .counter3 li li {
        counter-increment: testname4;
    }
    
    .counter3 li li:before {
        content: counter(testname3,decimal)"."counter(testname4,decimal)":";
    }
    
    .counter3 li li li {
        counter-increment: testname5;
    }
    
    .counter3 li li li:before {
        content: counter(testname3,decimal)"."counter(testname4,decimal)"."counter(testname5,decimal)":";
    }
    </style>
    </head>
    <body>
    <ul class="test">
        <li class="string">
            <strong>string:</strong>
            <p>你的浏览器是否支持content属性:否</p>
        </li>
        <li class="attr">
            <strong>attr:</strong>
            <p title="如果你看到我则说明你目前使用的浏览器支持content属性"></p>
        </li>
        <li class="url">
            <strong>url():</strong>
            <p>如果你看到我的头像图片则说明你目前使用的浏览器支持content属性</p>
        </li>
        <li class="counter1">
            <strong>counter(name):</strong>
            <ol>
                <li>列表项</li>
                <li>列表项</li>
                <li>列表项</li>
            </ol>
        </li>
        <li class="counter2">
            <strong>counter(name,list-style-type):</strong>
            <ol>
                <li>列表项</li>
                <li>列表项</li>
                <li>列表项</li>
            </ol>
        </li>
        <li class="counter3">
            <strong>counter(name)拓展应用:</strong>
            <ol>
                <li>列表项
                    <ol>
                        <li>列表项
                            <ol>
                                <li>列表项</li>
                                <li>列表项</li>
                            </ol>
                        </li>
                        <li>列表项</li>
                    </ol>
                </li>
                <li>列表项
                    <ol>
                        <li>列表项</li>
                        <li>列表项</li>
                    </ol>
                </li>
                <li>列表项
                    <ol>
                        <li>列表项</li>
                        <li>列表项</li>
                    </ol>
                </li>
            </ol>
        </li>
    </ul>
    </body>
    </html>
  • 相关阅读:
    __doPostback在客户端控件中的作用
    BlogEngine学习二:基于ICallbackEventHandler的轻量级Ajax方式
    JS操作XML数据备忘
    JS解析DataSet.GetXML()方法产生的xml
    JS中的prototype的使用方式
    实体类的二进制序列化
    PostgreSQL的.NET驱动程序Npgsql中参数对象的一个Bug
    PDF.NET的SQL日志
    PostgreSQL的PDF.NET驱动程序构建过程
    使用XSD编写具有智能提示的XML文件(以SQLMAP脚本为实例)
  • 原文地址:https://www.cnblogs.com/wwlhome/p/6207493.html
Copyright © 2011-2022 走看看