详解CSS-02-选择器

一、选择器
1. 传统CSS2.1选择器

标签选择器:

  • 标签选择器也称为元素选择器、类选择器,它直接使用元素的标签名当做选择器,将选择页面上所有该种标签
    在这里插入图片描述
  • 标签选择器将选择页面上所有该种标签,无论这个标签所处位置的深浅
    在这里插入图片描述
  • 标签选择器的常见作用:标签选择器“覆盖面”非常大,所以通常用于标签的初始化
    在这里插入图片描述

ID选择器:

  • 标签可以有id属性,是这个标签的唯一标识
    在这里插入图片描述
  • id的名称只能由字母、数字、下划线、短横构成,且不能以数字开头,字母区分大小写,但习惯上一般为小写字母
  • 同一个页面上不能有相同id的标签。
  • CSS选择器可以使用井号#前缀,选择指定id的标签。
    在这里插入图片描述

class选择器:

  • class属性表示“类名”
    在这里插入图片描述

  • 类名的命名规范和id的命名规范相同

  • 使用点.前缀选择指定class的标签
    在这里插入图片描述

  • class类名非常灵活

    • 多个标签可以为相同类名
      在这里插入图片描述
    • 同一个标签可以同时属于多个类,类名用空格隔开
      在这里插入图片描述
      在这里插入图片描述
  • 原子类

    • 在做网页项目前,可以将所有常用字号、文字颜色、行高、外边距、内边距等都设置为单独的类
      在这里插入图片描述

    • HTML标签就可以“择需选择”它的类名了,这样可以非常快速的添加一些常见样式。
      在这里插入图片描述

复合选择器:
在这里插入图片描述

  • 后代选择器

    • css选择器中,使用空格表示“后代”
      在这里插入图片描述
    • “后代”不一定是儿子。
      在这里插入图片描述
    • “后代”选择器可以有很多空格,隔开好几代。
      在这里插入图片描述
  • 交集选择器

    • 选择有.desc类的p标签,此时就应该使用交集选择器了。
      在这里插入图片描述
  • 并集选择器也叫作分组选择器,逗号表示分组
    在这里插入图片描述

伪类:

  • 伪类是添加到选择器的描述性词语,指定要选择的元素的特殊状态,超级链接拥有4个特殊状态。
    在这里插入图片描述
  • 爱恨准则:a标签的伪类书写,要按照“爱恨准则”的顺序,否则会有伪类不生效。
    在这里插入图片描述
2. CSS3新增选择器

元素关系选择器:
在这里插入图片描述

  • 子选择器:
    • 当使用>符号分隔两个元素时,它只会匹配那些作为第一个元素的直接后代元素,即两个标签为父子关系
      在这里插入图片描述
    • 后代选择器不一定限制是子选择器
  • 相邻兄弟选择器:
    • 相邻兄弟选择器(+)介于两个选择器之间,当第二个元素紧跟在第一个元素之后,并且两个元素都是属于同一个父元素的子元素,则第二个元素将被选中。
    • 通俗讲:a+b就是选择‘紧跟在a后面的一个b’
    • 相邻兄弟选择器从IE7开始兼容
      在这里插入图片描述
  • 通用兄弟选择器:
    • 通用兄弟选择器(~),a ~ b选择a元素之后所有同层级b元素。
    • 通用兄弟选择器从IE7开始兼容
      在这里插入图片描述

序号选择器:
在这里插入图片描述

  • :first-child表示“选择第一个子元素”
    在这里插入图片描述

  • :last-child表示“选择最后一个子元素”
    在这里插入图片描述

  • :nth-child可以选择任意序号的子元素,下标从1开始
    在这里插入图片描述

    • :nth-child()可以写成an+b的形式,表示从b开始每a个选一个,注意不能写成b+an
    • 2n+1等价于odd,表示奇数。
      .box p:nth-child(2n+1) {
      	color: red;
      }
      /* 等价于 */
      .box p:nth-child(odd) {
      	color: red;
      }
      
    • 2n等价于even,表示偶数。
      .box p:nth-child(2n) {
      	color: red;
      }
      /* 等价于 */
      .box p:nth-child(even) {
      	color: red;
      }
      
  • :nth-of-type()将选择同种标签指定序号的子元素
    在这里插入图片描述
    正确写法:
    在这里插入图片描述

  • :nth-last-child(n):nth-last-of-type都是倒数选择

  • 序号选择器的兼容性
    在这里插入图片描述

属性选择器:
在这里插入图片描述
CSS3新增伪类:
在这里插入图片描述
伪元素:

  • CSS3新增了“伪元素”特性,顾名思义,表示虚拟动态创建的元素。
  • 伪元素用双冒号表示,IE8可以兼容单冒号。
  • ::before创建一个伪元素,其将成为匹配选中的元素的第一个子元素,必须设置content属性表示其中的内容。
  • ::after创建一个伪元素,其将成为匹配选中的元素的最后一个子元素,必须设置content属性表示其中的内容。
  • ::selection CSS伪元素应用于文档中被用户高亮的部分(使用鼠标圈选的部分)
  • ::first-letter会选中某元素中(必须是块级元素)第一行的第一个字母
  • ::first-line会选中某元素中(必须是块级元素)第一行全部文字
3. 层叠性和选择器权重计算

层叠性:

  • CSS全称叫"层叠样式表",层叠性是它很重要的性质。
  • 层叠性:多个选择器可以同时作用于同一个标签,效果叠加。
  • 如果多个选择器定义的属性有冲突:CSS有严密的处理冲突的规则。
    • id权重 > class权重 > 标签权重
  • 复杂的选择器可以通过(id的个数,class的个数,标签的个数)的形式,计算权重
    在这里插入图片描述

由此可见:页面应该显示绿色

!important提升权重:

  • 如果我们需要将某一个选择器的某条属性提升权重,可以在属性后面写!important
    在这里插入图片描述

  • 但是不推荐使用,不经意就产生样式冲突。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值