| 选择符语法 | 描述 | 
|---|---|
| E [att] | 匹配具有att属性的所有元素 | 
| E [att = "value"] | 匹配具有att属性且值为value的元素 | 
| E [att ^= "value"] | 模糊匹配,以属性值为value打头的元素 | 
| E [value $= "value"] | 模糊查询,以属性值为value结尾的元素 | 
| E [value *= "value"] | 完全模糊匹配 | 
这里一共分为两个大类
| 选择符语法 | 描述 | 
|---|---|
| E:first-child | 匹配父元素中的第一个子元素E | 
| E:last-child | 匹配父元素中的最后一个子元素E | 
| E:nth-child(n) | 匹配父元素中的第n个子元素E | 
| E:first-of-type | 指定类型E的第一个 | 
| E:last-of-type | 指定类型E的最后一个 | 
| E:nth-of-type(n) | 指定类型E的第n个 | 
这个比上面的属性选择器稍微复杂一点,但是也很easy,这个我直接上代码或许更加简单明了一点
样式部分为:
    <style>
        /* :first-child为第一个元素 */ 
        ul :first-child {
            background-color: blue;
        }
?
        /* 有了第一个当然就会有最后一个 */
        ul :last-child {
            background-color: pink;
        }
?
        /* 指定匹配上的的元素中的某一个,下标从1开始 */
        ul :nth-child(5) {
            background-color: black;
        }
?
        /* 这个就是有意思的地方了,这个值可以是数字,如上般那样,也可以是公事,还可以是关键字 */
?
        /* even为偶数行 还可以选择odd,为奇数行 */
        ul li:nth-child(even) {
            background-color: orangered;
        }
        /* 这个为公式,n是从0开始,到匹配上的所有元素的个数为尾,递增+1,下面的意思就是选择前五个,因为我们的元素总共就10个 */
        ul :nth-child(-n + 5) {
            background-color: orange;
        }
?
        div {
            height: 100px;
            background-color: rgb(204, 204, 204);
        }
?
        /* 这个可以匹配父元素其下的第一个子元素,即使他不是span */
        div :nth-child(1) {
            background-color: orangered;
        }
?
        /* 这个只能匹配父元素下是span元素的第一个子元素 */
        div span:nth-of-type(1) {
            background-color: red;
        }
    </style>
body部分为
<body>
    <ul>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
        <li></li>
    </ul>
    <div>
        <p>小伙子,你不要拽</p>
        <span>1</span>
        <span>2</span>
        <span>3</span>
        <span>4</span>
        <span>5</span>
    </div>
</body>
这里就有一个比较
nth-child 选择父元素里面的第几个子元素,不管是第几个类型
nt-of-type 选择指定类型的元素
| 选择符语法 | 描述 | 
|---|---|
| ::before | 在元素的内部的前面插入内容 | 
| ::after | 在袁术的内部的后面插入内容 | 
需要注意的就是:
两个选择器都要求必须有content属性
before和after创建的是一个行内元素,如需设置高宽等属性,需要转换为行内快
创建出来的元素在Dom中找不到的,所以称为伪元素,也不晓得是个啥?
......有错误望指正
原文:https://www.cnblogs.com/chenchaoliang/p/12398444.html