• CSS高级选择器


    高级选择器分为:后代选择器、子代选择器、并集选择器、交集选择器

    后代选择器

    语法格式:选择器1 选择器2 ..... { 属性名N:属性值; }

    描   述: 选择父选择器下面的子选择器,添加属性

    注   意:

    1、 选择器1 和选择器2之间有父子关系

    2、 选择器可以有N个(注意:父子关系;多个选择器之间有一个空格)

    这个其实就是嵌套你的选择属性,比如前者加上你的外面的父级后者加入要进行的子级

    使用空格表示后代选择器。顾名思义,父元素的后代(包括儿子,孙子,重孙子)

    <head>
        <meta charset="UTF-8">
        <title>后代选择器</title>
        <style>
            u{
                color: pink;
            }
            div u{
                /*这个是选择div中的u标签进行改变*/
                color: green;
            }
        </style>
    </head>
    <body>
    <!--高级选择器分为 后代选择器 子代选择器  并集选择器 交集选择器-->
    <p><u>老王开车去卖瓜</u></p>
    <div>
        你家里的物品
        <span>
            有很多东西
            <u>什么都有</u>
        </span>
    </div
    后代选择器
    <head>
        <meta charset="UTF-8">
        <title>后代选择器</title>
        <style>
    
            .two{
                /*这个是对所有的类是two的标签进行修改*/
                color: brown;
            }
            .one .two{
                /*仅仅对父类是one字类是two的标签进行修改*/
                
                color:red;
            }
    
        </style>
    </head>
    <body>
    <p class="one"><u class="two">老王</u></p>
    <p class="two">老李</p>
    <p class="three">老张</p>
    
    </body>

    子代选择器

    使用>表示子代选择器。比如div>p,仅仅表示的是当前div元素选中的子代(不包含孙子....)元素p。

    <head>
        <meta charset="UTF-8">
        <title>子代选择器</title>
        <style>
    
            .one >p{
                /*选择第一个的p因为有大于号*/
                color: red;
            }
    
        </style>
    </head>
    <body>
    
    <div class="one">
        <p>111
            <div><p>222</p></div>
        </p>
    
    </div>
    </body>

    并集选择器

    多个选择器之间使用逗号隔开。表示选中的页面中的多个标签。一些共性的元素,可以使用并集选择器

    :选择器1,选择器2 ..... { 属性名N:属性值; }

    描   述: 给多个选择器同时添加相同属性

    注   意:

    1、 多个选择器之间用逗号“,”分隔

    <head>
        <meta charset="UTF-8">
        <title>并集</title>
        <style>
            h3,a{
                /*使用逗号对所有的进行需要进行设置的选择器进行设置*/
                color: brown;
            }
        </style>
    </head>
    <body>
    <h3>这是一个奇幻的开头</h3>
    <a href="">真的吗</a>
    
    </body>

    比如像百度首页使用并集选择器。

     body,h1,h2,h3,h4,h5,h6,hr,p,blockquote,dl,dt,dd,ul,ol,li,pre,form,fieldset,legend,button,input,textarea,th,td {
          margin: 0;
          padding: 0
       }
    /*使用此并集选择器选中页面中所有的标签,页面布局的时候会使用*/
    百度首页并集的运用

    交集选择器

    使用.表示交集选择器。第一个标签必须是标签选择器,第二个标签必须是类选择器 

    错误代码:

    <head>
        <meta charset="UTF-8">
        <title>并集</title>
        <style>
    
            .class a{
                /*像这种代码是没有做用的  因为必须这两个选择器是不同类型的*/
                color: red;
            }
    
        </style>
    </head>
    <body>
    <h3 class="one">这是一个奇幻的开头</h3>
    <a href="">真的吗</a>
    </body>

    并集选择器:

        <style>
            h3.one{
                /*并集选择器中间不能加空格*/
                color: red;
            }
    
    
        </style>
    </head>
    <body>
    <h3 class="one">这是一个奇幻的开头</h3>
    <a href="">真的吗</a>
    </body>

    属性选择器:

    <!-- 属性选择器仅限于在表单控件中 -->

    <head>
        <meta charset="UTF-8">
        <title>属性选择器</title>
        <style>
            [for]{
                color: aquamarine;
            }
            [for='username']{
                color: brown;
            }
            [for=password]{
                font-size: 20px;
                font-family: 楷体;
            }
            /*以...开头^ 其实就和正则的^符号差不多开头*/
            [for^=user]{
                /*对以user开头的标签进行操作*/
                color: red;
            }
            /*包含某元素的标签*/
            [for*=vip]{
                /*找到属性含有vip的属性进行修改*/
                color: olive;
            }
            [for*='our']{
                color: red;
            }
            /*以....结尾   $*/
            [for$='ip']{
                /*找到以ip为结尾的标签的属性*/
                color: yellow;
            }
            
        </style>
    </head>
    <body>
    <form action="">
        <label for="lab">这是输入框</label>
        <input type="text"><br/>
        <label for="username">请输入用户名</label>
        <input type="text"><br/>
        <label for="password">请输入密码</label>
        <input type="password"><br/>
        <label for="yourevip">vip用户登陆区域</label>
        <input type="text">
    
    </form>
    </body>

    伪类选择器

    伪类选择器一般会用在超链接a标签中,使用a标签的伪类选择器

    语法格式:选择器:[参数]  { 属性名N:属性值; }

    参   数:

    a:link { color:#ff0000; }      /*默认样式,超链接文字为红色*/

    a:visited { color:#00ff00; }    /*访问过后,超链接文字为绿色*/

    a:hover { color:#0000ff; }    /*鼠标经过,超链接文字为蓝色*/

    a:active { color:#ffff00; }     /*鼠标按下时,超链接文字为黄色*/

    注   意:

    1、默认[参数],:link 省略

    2、常用状态: hover 鼠标经过/移动到链接上时显示的颜色

    <head>
        <meta charset="UTF-8">
        <title>伪类选择器</title>
        <style>
            a:link{
                /**/
                color:red;}
            a:visited{
                /*访问过后的颜色*/
                color: black;
            }
            a:hover{
                /*鼠标经过就是黄色的*/
                color: yellow;
            }
            a:active{
                /*鼠标摁着不松的状态*/
                color: aqua;
            }
        </style>
    </head>
    <body>
    <a href="">这是一个选择器</a>
    <a href=""></a>
    
    </body>
    伪类选择器:对于a标签

    再给大家介绍一种css3的选择器nth-child():

    <head>
        <meta charset="UTF-8">
        <title>nth-child</title>
        <style>
             /*选中第一个元素*/
            div, ul li:first-child{
                /*对div中和ul中的第一行的li的字体进行修改*/
                font-size: 77px;
                color: red;
            }
            /*选中最后一个元素*/
            div,ul li:last-child{
                /*对最后一行的元素进行设置*/
                color:green;
            }
            /*选中当前指定的元素  数值从1开始*/
            div,ul li:nth-child(2){
                /*对指定的div的第二行 ul中的第二个li进行设置*/
                font-size: 3px;
            }
             /*偶数*/
            div,ul li:nth-child(2n){
                /*对偶数行进行设置*/
                font-size: 50px;
                color:white;
            }
            /*奇数*/
            div,ul li:nth-child(2n-1){
                color:darkgreen;
            }
            /*隔几换色  隔行换色
                 隔4换色 就是5n+1,隔3换色就是4n+1
                */
            div, ul li:nth-child(5n+1){
                color:blueviolet;
            }
    
        </style>
    </head>
    <body>
    <div>
        你是不是偷偷的喜欢我
    </div>
    <ul>
        <li>要不要</li>
        <li>这样</li>
        <li>就这样</li>
    </ul>
    
    </body>

     伪元素选择器:

    <head>
        <meta charset="UTF-8">
        <style>
            /*设置第一个首字母的样式*/
            p:first-letter{
                /*对p标签的第一个元素进行设置*/
                color:red;
                font-size:30px;
            }
            /* 在....之前 添加内容   这个属性使用不是很频繁 了解  使用此伪元素选择器一定要结合content属性*/
            p:before{
                /*在p标签之前添加元素*/
                content:'alex;'
            }
            /*在....之后 添加内容,使用非常频繁 通常与咱们后面要讲到布局 有很大的关联(清除浮动)*/
            p:after{
                /*在p标签的最后面添加元素*/
                content:'alex';
                color:red;
                font-size: 40px;
            }
        </style>
    </head>
    <body>
    <p>这是一个伪元素的选择器</p>
    
    </body>
  • 相关阅读:
    RabbitMqBase消息队列小结
    PtrSwap不仅仅是原地交换两个数
    InterfaceSummary接口小结
    InterfaceDesign接口设计原则
    InitOrder初始化执行顺序
    golang面向对象编程思想
    golang之工厂模式
    golang之方法
    golang之结构体使用注意事项和细节
    golang之匿名函数结合defer
  • 原文地址:https://www.cnblogs.com/zhaoyunlong/p/9077651.html
Copyright © 2020-2023  润新知