css选择器都有几种?

2021-02-04 16:19:24 浏览数 (3368)

学习了 css 选择器,在此做一个知识梳理:

一、基本选择器

1、id选择器(优先级最高 0100)

如:#id{...}

2、类选择器(优先级次之 0010)

如:.class{...}

3、标签选择器 (优先级最低 0001,涉及最广)

如: div{...}

二、加强选择器

1、后代选择器(选择器名称之间采用空格隔开)

如:#wrap p{...id为wrap下的所有p标签....}

2、子代选择器(选择器名称之间采用大于号'>'进行连接)

如:#wrap>p{...id为wrap下的子代p标签.....}

结合实际详细讲解一下这个子代选择器:

微信截图_20210204101928

样式展示:

微信截图_20210204101823

3、组合选择器(选择器名称之间采用逗号','隔开)

如:#wrap , .con p{...id 为 wrap 和类名为 con 下的 p 标签 都采用此选择器....}

组合选择器的意思是:满足选择器规则的多个标签都采用同一种 css 样式

三、其他加强版选择器

1、通配符选择器(极少使用,意义不大)

如:*{.......}

2、毗邻选择器(也叫相邻选择器,使用概率大,使用加号“+”连接两个选择器)

如:.con+p{...类名为 con 的兄弟 p 标签满足此条件,注意是兄弟级标签,子级标签不行.....}

3、伪类选择器

如:.clearfix:after{.....作用于类名为 clearfix 的标签后的子标签......}

4、属性选择器

暂定讲解

5、解释一下 div .wrap 和 div.wrap 的区别。

注意:div .wrap 和 div.wrap 的书写区别在于 div 和 .wrap 之间是否有空格。

(1)有空格的 div .wrap 选择器,就是我们前面介绍的后代选择器,意思是:div 标签下的所有类名为 wrap 的标签符合筛选。

(2)没有空格的 div.wrap 是直接相连的,意思是:标签名为 div 且类名 为wrap 的符合筛选

如:div.con#box{...“类名为 con 且 id为 box”的 div 标签符合筛选....}