zoukankan      html  css  js  c++  java
  • css选择器(1)

    css选择器

    css选择器有5个大类:

    1. 基本选择器
    2. 复合选择器
    3. 伪类选择器
    4. 伪元素选择器
    5. 属性选择器

    接下来具体介绍各个选择器:

    一、基本选择器

    1、 通用选择器

    通用选择器能够匹配所有的元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                *{
                    color: green;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p>万物皆虚,万事皆允</p>
            <p>万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    2、元素选择器

    元素选择器就是以某个html元素作为选择器

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                h1{
                    text-align: center;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p>万物皆虚,万事皆允</p>
            <p>万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    3、类选择器

    类选择器采用html5的全局属性class,用它来匹配指定的元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                .a{
                    color: red;
                }
                .b{
                    color: blue;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p class="a">万物皆虚,万事皆允</p>
            <p class="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    4、id选择器

    id选择器是使用html元素的id属性来进行定位的

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                #a{
                    color: green;
                }
                #b{
                    color: pink;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p id="a">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    二、复合选择器

    符合选择器是由两个或多个基础选择器通过不同的方式进行组合,来达到更精确的定位。

    1、交集选择器

    交集选择器由两个选择器直接连接构成,第一个选择器必须是元素选择器,第二个选择器必须是类选择器或id选择器

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                p#b{
                    color:yellow;
                }
                p.a{
                    color:pink;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p class="a">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    2、并集选择器

    由两个或两个以上任意选择器构成,所设置的样式对参与的每个选择器都有效

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                h1,p{
                    color:green;
                }
            </style>
        </head>
        <body>
            <h1>万物皆虚,万事皆允</h1>
            <p class="a">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
            <p id="b">万物皆虚,万事皆允</p>
        </body>
    </html>
    
    

    3、后代选择器

    用于选择包含在指定选择器匹配的元素中的后代元素,后代选择器使用空格进行分隔

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                body  p{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p>
                hahaha
                <div>
                    nimei
                    <p>
                        3
                    </p>
                </div>
            </p>
        </body>
    </html>
    
    

    4、子元素选择器

    子元素选择器和后代选择器很像,但只选择匹配元素中的直接子元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                body > p{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p>
                hahaha
                <div>
                    nimei
                    <p>
                        3
                    </p>
                </div>
            </p>
        </body>
    </html>
    
    

    5、相邻兄弟选择器

    如果需要选择紧接在某个元素后面的元素,而且两者具有共同的父元素,就可以使用相邻兄弟选择器。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                .a+.b{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p class="a">第一行</p>
            <p class="b">第二行</p>
            <p class="c">第三行</p>
            <p class="d">第四行</p>
        </body>
    </html>
    
    

    6、通用兄弟选择器

    通用兄弟选择器比相邻兄弟选择器的匹配范围更广一些,通用兄弟选择器匹配的元素无需挨着,只需要有共同父亲即可,也就是在同一层级。

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                .a ~ p{
                    color:red;
                }
            </style>
        </head>
        <body>
            <p class="a">第一行</p>
            <p class="b">第二行</p>
            <p class="c">第三行</p>
            <p class="d">第四行</p>
        </body>
    </html>
    
    

    三、伪元素选择器

    1、::first-line选择器

    用于匹配文本块的第一行内容,并且仅对块级元素的内的第一行内容有效

    tip:输入lorem可以填充乱数假文

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                ::first-line{
                    color:red;
                }
            </style>
        </head>
        <body>
            <div>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore, aut, officiis totam voluptatum, odit reprehenderit corrupti ipsam nesciunt veniam ut eos omnis necessitatibus inventore corporis! Dolorem exercitationem officiis dolor soluta!</div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione labore quibusdam, deleniti, nobis repellendus doloremque voluptatum velit, repudiandae dolorem inventore qui. Sit vero veritatis deleniti beatae ea, quibusdam reprehenderit eligendi?</p>
    
        </body>
    </html>
    
    

    如果想要让::first-line仅对一个元素起效,就要在冒号前加上这个元素

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                p::first-line{
                    color:red;
                }
            </style>
        </head>
        <body>
            <div>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore, aut, officiis totam voluptatum, odit reprehenderit corrupti ipsam nesciunt veniam ut eos omnis necessitatibus inventore corporis! Dolorem exercitationem officiis dolor soluta!</div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione labore quibusdam, deleniti, nobis repellendus doloremque voluptatum velit, repudiandae dolorem inventore qui. Sit vero veritatis deleniti beatae ea, quibusdam reprehenderit eligendi?</p>
    
        </body>
    </html>
    
    

    2、::first-leter选择器

    用来选中文本块的第一个字符

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                ::first-letter{
                    color:red;
                }
            </style>
        </head>
        <body>
            <div>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Tempore, aut, officiis totam voluptatum, odit reprehenderit corrupti ipsam nesciunt veniam ut eos omnis necessitatibus inventore corporis! Dolorem exercitationem officiis dolor soluta!</div>
            <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ratione labore quibusdam, deleniti, nobis repellendus doloremque voluptatum velit, repudiandae dolorem inventore qui. Sit vero veritatis deleniti beatae ea, quibusdam reprehenderit eligendi?</p>
    
        </body>
    </html>
    
    

    同样,在冒号前加入特定标签,会让::first-letter的效果仅针对该标签。

    3、::before和::after

    将content属性的值插入到指定区域中

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
                p::before{
                    content: "大老师";
                }
                p::before{
                    content: url(img/a.png);
                }
                p::after{
                    content: "自爆"
                }
            </style>
        </head>
        <body>
            <p>的技能是</p>
        </body>
    </html>
    
    

    4、selection选择器

    用于匹配用户选中的部分文本

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <style>
               ::selection{
                   color:red;
                   background-color: black;
               }
            </style>
        </head>
        <body>
            <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Molestiae id soluta nemo ad et. Quibusdam, necessitatibus harum? Corporis inventore iure incidunt ea illo tempora nobis ratione consectetur voluptates vel! Quisquam.</p>
        </body>
    </html>
    
    
  • 相关阅读:
    矩阵快速幂的学习(系统的学习)
    hdu3949(线性基,求第k小的异或和
    牛客网训练赛26D(xor)
    牛客网练习赛26B(简单的dp)
    Carryon的字符串
    string的各种函数(系统学习)
    约瑟夫问题(vector的使用)
    vector的学习(系统的学习)
    CodeForces
    POJ-3624-背包问题
  • 原文地址:https://www.cnblogs.com/fate-/p/14429271.html
Copyright © 2011-2022 走看看