web 选择器

常用复合选择器

概述:由两个或多个基础选择器通过不同的方式组合而成的选择器

1.后代选择器

后代选择器又称包含选择器,可以选择某元素后代的元素

  • 语法:

    E F {
        样式声明;
    ​
    }
  • 描述:【空格】连接一个或多个选择器

  • 作用: 选择E元素内部包含的所有F元素

 /* .warp 范围内所有的span都有效 */
.wrap span {
            color: tomato;
        }
 <div class="wrap">
        <span>我是第一个span</span>
        <ul>
            <li>
                <span>我是第a二span个</span>
            </li>
        </ul>
        <span>我是第三个span</span>
        <div class="txt">div文本</div>
    </div>
​

2.子代选择器

子代选择器他只能选择他的子代范围内的选择器,也就是父子关系

  • 语法

    E > F {
        样式声明; 
    }
  • 描述:【大于】号 连接一个或多个选择器

  • 作用: 选择E元素内部包含的所有直接子元素F(第一嵌套层级)

父类选择器与子代选择器之间与大于号隔开
 /* .warp 范围内所有的子元素span都有效 */
.wrap>span {
            color: tomato;
        }
 <div class="wrap">
        <span>我是第一个span</span>
        <ul>
            <li>
                <span>我是第a二span个</span>
            </li>
        </ul>
        <span>我是第三个span</span>
        <div class="txt">div文本</div>
    </div>
    </div>

3.群组选择器

群组选择器是在样式表中有很多具有相同样式的元素,为了尽量减少代码,我们可以用群组选择器

群组选择器是将任意多个选择器分在一组,每个选择器之间用逗号隔开

  • 语法

    E,F { 
        样式声明;
    }
  • 描述:【逗号】连接一个或多个选择器

  • 作用: 使用逗号分隔的列表来对选择器进行分组,给列表中每一个选择器选中的元素设置样式

      选择器1,选择器2,选择器3{};
    选择器1和选择器2选择器3是都具有相同的样式的
    选择器1和选择器2选择器3中间以逗号来隔开: 选择器1,选择器2,选择器
​
    注意:最后一个选择器后面不用加逗号
​
        h2,
        h3,
        h6,
        div,
        .box,
        #box2 {
            color: blue;
        }
    <h2>h2h2h2h2h2h</h2>
    <h3>h3h3h3h3h3</h3>
    <h6>h6h6h6h6h6h</h6>
    <div>divdivdiv</div>
    <div class="box">box111</div>
    <p id="box2">ppppp</p>

4.伪类链接选择器

用于添加特殊效果

  • 语法

    选择器:伪类{ }
  • 用于设置链接的不同状态

    a:link{ 链接的默认样式 }
    a:visited{ 链接访问过后的样式 }
    a:hover{ 鼠标悬停的样式 }
    a:active{ 鼠标按下的样式 }
    
    a:link {
            color: tomato;
        }
​
        a:visited {
            color: yellow;
        }
​
        a:hover {
            color: purple;
        }
​
        a:active {
            color: greenyellow;
        }

四个伪类状态都有效:L-v-H-a

  • :hover不仅可以表示链接的悬停,也可以用于其他标签中

/* 鼠标悬停到.box1盒上,让其本身的背景颜色变为蓝色 */
    .box1:hover{
        background-color: lightblue;
    }
/* 鼠标悬停到.box2盒上,让p标签文字颜色变为红色 */
    .box2:hover p{
        color: red;
    }
/* 鼠标悬停到.box3上,让p标签和h3标签的文字颜色都变为blue */
    .box3:hover h3,
    .box3:hover p{
        color: red;
    }
    
    .box3  :hover{
        color: blue;
    }

5.相邻选择器

  • 语法

    • 示例:E+F{ 样式声明 } 用加号连接

    • 描述:【加号】 连接一个或多个选择器

  • 作用:E元素之后紧跟着的兄弟元素F

  • 代码示例

    .box + p{
        background-color:red
    }
    ​
    <p>这个P元素不会被应用样式</p>
    <div class="box">box</div>
    <p>这个P元素会被应用样式</p>
    <p>这个P元素不会被应用样式</p>
兄弟之间的hover
<!DOCTYPE html>
<html lang="en">
​
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
​
        .box {
            width: 100px;
            height: 100px;
            background: tomato;
        }
​
        .con {
            width: 300px;
            height: 300px;
            height: 0;
            background: yellowgreen;
​
            transition: 2s;
        }
​
        .box:hover+.con {
            height: 300px;
            background-color: blue;
        }
​
    </style>
</head>
​
<body>
    <div class="box"></div>
    <div class="con"></div>
</body>
​
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值