【前端小记】-- CSS--1.一些好用的CSS3选择器

CSS3选择器的介绍通过下面这个例子来分析:

<style>
      div {
           display: flex;
           background: beige;
       }
      h1, h2,h3,h4,h5,p,a {
           display: block;
           margin: 5px;
           font-weight: 400;
       }
       input {
           height: 10px;
           width: 10px;
       }
</style>
<body>
    <div class="text">
        <h1>我是h1</h1>
        <span class="shuxingvalue">
            <h3>我是h3</h3>
            <h4>我是h4</h4>
            <h5>我是h5</h5>
            <h5>我是h5</h5>
        </span>
        <h4>我是h4</h4>
        <h5>我是h5</h5>
        <h5>我是h5</h5>
        <span class="valueshuxing">
            <h4>我是h4</h4>
            <h4>我是h4</h4>
            <h4>我是h4</h4>
            <h4>我是h4</h4>
        </span>
        <span class="only">
            <h5>我是h5</h5>
        </span>
        <span></span>
        <a href="#text1">text1-a</a>
        <p id="text1">text1-p</p>
        <input type="text" disabled="true">
        <input type="text">
        <input type="checkbox">
    </div>
</body>

在这里插入图片描述

一、符号选择器

1、a ~ b(波浪号)
(1)a和b必须在同一父级下;
(2)会覆盖所有的b;

h1 ~ h5 { color: pink; } //表示在同一父级下的h1后面的所有h5标签。

在这里插入图片描述

2、a + b(加号)
(1)a和b必须在同一父级下;
(2)b必须是和a挨着的元素;
(3)只覆盖一个b;

h4 + h5 { color: pink; }//表示紧邻在h4后面的h5标签,作用于所有满足条件的元素

在这里插入图片描述

3、a > b(大于号)
(1)a必须是b的父级;
(2)b必须是a的下一级元素,对下二级元素不生效;
(3)会覆盖所有下一级的b;

.test > h4 { color: pink; }//.text是父级,则选中的是第一层子级的h4

在这里插入图片描述

二、属性选择器

注:E为元素,属性名为 attr ,若无E标签,则作用于全局。

1、E[attr^=“value”]
表示属性arr的属性值以“value”开头的E元素;

span[class^="shuxing"] { color: pink; }//表示类名以“shuxing”开头的span标签的元素

在这里插入图片描述
2、E[attr$=“value”]
表示属性arr的属性值以“value”结尾的E元素;

span[class$="shuxing"] { color: pink; }//表示类名以“shuxing”结尾的span标签的元素

在这里插入图片描述
3、E[attr=“value”]*
表示属性arr的属性值中包含“value”的E元素;

span[class*="sh"] { color: pink; }//选中的是类名中包含“sh”的span标签的元素

在这里插入图片描述

三、伪类选择器

注:在伪类选择器中的n代表的是父级内的子集顺序,E不必须是一个标签,也可以是一个类名。
1、E:nth-child(n)
(1)表示在E元素的父元素内的第n个E元素;
(2)E元素在父元素的位置顺序必须是n,二者是必须是相对应的;
(3)n的取值也可以代表选中的奇偶数:
E:nth-child(odd)E:nth-child(2n+1):选中在E的父元素内的顺序为奇数的E元素;
E:nth-child(even)E:nth-child(2n):选中在E的父元素内的顺序为偶数的E元素;

.shuxingvalue h4:nth-child(2) { color: pink; }//表示在.shuxingvalue元素内第二个孩子h4

在这里插入图片描述
2、E:nth-last-child(n)
和E:nth-child(n)同理,只不过它是从后面开始。

 .shuxingvalue h5:nth-last-child(2) { color: pink; }//表示在.shuxingvalue元素内倒数第二个孩子h5

在这里插入图片描述
3、E:nth-of-type(n)
(1)表示元素类型是E的第n个元素;
(2)和nth-child一样,n可以写成奇偶值;

.text h4:nth-of-type(1) { color: pink; }//表示在.text元素内的所有的层级内第一个元素类型是h4的元素;

在这里插入图片描述
4、E:first-of-type、E:last-of-type、E:only-of-type
(1)E:first-of-type:表示E元素所在的父元素内第一个元素类型是E的元素;
(2)E:last-of-type:表示E元素所在的父元素内最后一个元素类型是E的元素;
(3)E:only-of-type:表示E元素所在的父元素内只有一个元素类型是E的元素;

h4:first-of-type { color: pink; }//表示h4所在的父元素内的第一个元素类型为h4标签的元素

在这里插入图片描述
5、E:last-child、E:only-child
(1)E:last-child:表示E元素所在的父元素内最后一个孩子是E的元素;
(2)E:only-child:表示E元素所在的父元素内只有一个孩子是E的元素;

h4:last-child { color: pink; }//表示h4所在的父元素内最后一个孩子是h4的元素

在这里插入图片描述
6、:root
表示文档的根节点,对页面所有都生效;

:root { color: pink; }

在这里插入图片描述
7、E:empty
表示标签内容为空的元素。

:empty {
   width: 20px;
   height: 20px;
   background: pink;
}

在这里插入图片描述
8、E:target
该选择器选择的是一个 id 与 当前 url 匹配的元素。

:target { color: pink; }//点击1之后2就变成粉色

在这里插入图片描述
9、E:not(s)
表示所有E元素中不符合参数选择器 s 描述的元素。

span:not(.shuxingvalue) { color: pink; }

在这里插入图片描述
10、E:enabled 、E:disabled、E:checked
(1)E:enabled:表示E元素不禁用时;
(2)E:disabled:表示E元素禁用时;
(3)E:checked:表示E元素点击时,一般用于 radio-button 或 checkbox;

input:disabled { background: pink; }

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值