CSS进阶-选择器

CSS进阶-选择器

前言

前面我们已经学习了4种选择器。接下来要学习的选择器,可以用于比较复杂的场景。

目标:

  1. 理解复合选择器的规则,并熟练使用复合选择器在HTML选择元素。

1、复合选择器

1.1 后代选择器 :空格

作用:根据HTML标签的嵌套关系,选择父元素后代中满足条件的元素

选择器语法:

选择器1 选择器2 {css}
  • 选择器1:父元素
  • 选择器2:为选择器1的后代元素

结果:

  • 在选择器1中所找到元素的后代(儿子、孙子、重孙子...)中,找到满足条件的选择器2的标签,设置样式

注意点:

  1. 后代包括:儿子、孙子、重孙子...
  2. 后代选择器中,选择器与选择器之间通过空格隔开

代码示例:

    <!-- css代码区 -->
    <style>
        /* 找到div的儿子p,并设置颜色为蓝色 */
        
        div p {
            color: blue;
        }
    </style>

	<!-- body中html代码区 -->
    <p>这是一个p标签</p>
    <div>
        <p>这是div的儿子p</p>
    </div>
1.2 子代选择器: >

作用:根据HTML标签的嵌套关系,选择器父元素子代中满足条件的元素

选择器语法:

选择器1 > 选择器2{css}

结果:

  • 在选择器1所找到标签的子代(儿子)中,找到满足选择器2的标签,设置样式

代码示例:

  <!-- CSS代码区 -->
    <style>
        /* 空格隔开的是后代,儿子,孙子,重孙子 */
        /* div a {
            color: red;
        } */
        /* 这里我们只想给div的儿子a添加样式 */
        
        div>a {
            color: aquamarine;
        }
    </style>

<!-- HTML代码区 -->
    <div>
        父级
        <a href="#">这是div里面的a</a>
        <p>
            <a href="#">这是div里面的p里面的a</a>
        </p>
    </div>

效果:

image-20230515194223941
1.3 并集选择器:,

作用:同时选择多组标签,设置相同的样式

选择器语法:

选择器1 , 选择器2{css}

结果:

  • 找到选择器1 和 选择器2 选中的标签,设置样式

注意点:

  1. 并集选择器的魅族选择器之间通过,分割
  2. 并集选择器中的每组选择器可以是基础选择器或者复合选择器
  3. 并集选择器中的每组选择器通常一行写一个,提高代码的可读性

代码示例:

  <!-- CSS代码区 -->
    <style>
        div a,
        div h1 {
            font-weight: normal;
            color: orange;
        }
    </style>
   <!-- HTML代码区 -->
    <!-- 这里我们给div>p>h1和div>div>a添加样式 -->
    <div>
        父级
        <p>
            <h1>这里是p里面的标题</h1>
        </p>
        <div>
            <a href="#">这里是div中的div里的a标签</a>
        </div>
    </div>

效果:

image-20230515195213110
1.4 交集选择器:紧挨着

作用:选中页面中 同时满足 多个选择器的标签

选择器语法:

选择器1选择器2 {css}

结果:

  • (既又原则)找到页面中 能被选择器1选中, 能被选择器2选中的标签,设置样式

注意点:

  1. 交集选择器中的选择器之间是紧挨的,没有东西分隔
  2. 交集选择器中如果有标签选择器,标签选择器必须写在最前面

代码示例:

 <!-- CSS代码区 -->
    <style>
        /* 交集选择器选中既是p标签,类名又是box的标签 */
        
        p.box {
            color: green;
        }
    </style>
    <!-- HTML代码区 -->
    <!-- 这里我们的要求是,找到一个p标签,并且带box类,将其字体设置为green -->
    <div class="box">这是div标签:box</div>
    <p>这是p标签</p>
    <p class="box">这是p标签:box</p>

效果:

image-20230515200222040
1.5 hover伪类选择器

作用:选中鼠标悬停在元素上的状态,设置样式

选择器语法:

选择器:hover{css}

注意点:

  1. 伪类选择器选中的元素的某种状态

代码示例:

	<!-- CSS代码区 -->
    <style>
        a:hover {
            color: green;
            background-color: aqua;
        }
    </style>
    <!-- HTML代码区 -->
    <a href="#">这里是a标签</a>

没有鼠标悬停时:

image-20230515201331138

悬停后:

image-20230515201113120
posted @ 2023-05-16 16:43  travellerα  阅读(26)  评论(0)    收藏  举报