css 选择器

CSS 选择器

一、常用选择器

  1. 元素选择器 p {}

  2. id 选择器 #name {}

  3. class 类选择器 .box {}

二、复合选择器

  1. 交集选择器 p.red {}.box.red {}

    选中同时符合多个条件的元素

    注意:交集选择器中如果有元素选择器,而元素选择器必须在开头

  2. 选择器分组(并集选择器)h1, p, .box {}

同时选择多个选择器对应的元素

三、关系选择器

  1. 子选择器.box > p {}

    选中指定父元素的指定子元素(可以多个)

  2. 后代选择器 .box p {}

    选中指定父元素的指定后代元素(可以多个)

  3. 兄弟选择器

  • p + span {}

    选择下一个指定的兄弟元素,必须是紧挨着的,而且只能选择一个

  • p ~ span {}

    选择下边所有指定的兄弟,被隔开的都能选择到,是多个

  1. 属性选择器
  • p[属性名] {}选择含有此属性的元素

  • p[属性名 = 属性值] {} 选择含有指定属性和属性值的元素

  • p[属性名 ^= 属性值] {} 选择属性值以指定值开头的元素

  • p[属性名 $= 属性值] {} 选择属性值以指定值结尾的元素

  • p[属性名 *= 属性值] {} 选择属性值中含有某值的元素

四、伪类选择器

伪类:不存在的类,特殊的类

  • 伪类用来描述一个元素的特殊状态

    例如,第一个子元素,被点击的元素,鼠标移入的元素。。。

  • 伪类一般是 :

    • :first-child第一个子元素

    • :last-child最后一个子元素

    • :nth-child()选中第n个子元素

      特殊值:

      ​n第n个n的范围 0 ~ +infinity

      ​2n 或 even表示选中偶数位的元素

      ​2n+1 或 odd表示选中奇数位的元素

      注意:是根据所有的子元素进行排序

    • :first-of-type

    • :last-of-type

    • :nth-of-type()

      这些伪类功能和上面的 nth-child() 类似,但是他们是在同类元素中排序

    • :not() 否定伪类

      将符合条件的元素从选择器中去除

      eg:ur > li:not(:nth-of-type(3)){}除了第3个 li 的其他所有 li 元素

  • 超链接の伪类

    • a:link用于表示没访问过的链接(正常的链接)

    • a:visited 访问过的链接

      由于隐私的问题,所有 visited 这个伪类只能修改链接的颜色

    • a:hover 鼠标移入的状态

    • a:active 鼠标点击时的状态

    注意:link 和 visited 是 a 特有的伪类,而 hover 和 active 是所有元素都有的

五、伪元素选择器

伪元素:表示页面中一些特殊的并不真实的存在的元素(特殊的位置)

  • 伪元素使用 :: 开头

    • ::first-letter 表示第一个字母

    • ::first-line 表示第一行

    • ::selection 表示选中的内容

    • ::before 元素的开始

    • ::after 元素的最后

      before 和 after 必须结合 content 属性使用

六、选择器权重

样式冲突:当我们通过不同的选择器,选中相同的元素,并且设置不同的样式,此时有冲突了

所以在样式冲突发生时,应用哪个样式就由选择器的权重(优先级)决定

选择器的权重:

  • 内联样式 1,0,0,0

  • id选择器 0,1,0,0

  • 类元素选择器(包括伪类) 0,0,1,0

  • 元素选择器 0,0,0,1

  • 通配选择器 0,0,0,0 * {}

  • 继承选择器 没有优先级

比较优先级时,需要将所有的选择器的优先级进行相加计算,最后优先级越高,则越优先显示(分组选择器单独计算

​选择器的累加不会超过其最大的数量级,类选择器再高也不会超过id选择器

​如果优先级计算后相同,此时则优先使用靠下的样式(代码顺序解释)

!important

​可以在某一个样式后边加上 !important ,则此时该样式会取到最高的优先级,甚至超过内联样式

​注意,在开发中这个要慎用

(0)

相关推荐

  • 小白入门你教程CSS选择器

    CSS越来越重要是大家中所周之的,但是还有很多人不知道CSS有哪些基本选择器和高级选择器?下面我们来总结一下. CSS有哪些基本选择器和高级选择器? ID选择器>类选择器>标签选择器 行内 ...

  • css选择器有哪些, 选择器的权重优先级

    特殊性 css继承是从一个元素向其后代元素传递属性值所采用的机制.确定应当向一个元素应用哪些值时,浏览器不仅要考虑继承,还要考虑声明的特殊性,另外需要考虑声明本身的来源.这个过程就称为层叠.--< ...

  • CSS——选择器(三大特性)

    一.继承性 1.基本介绍 #1.定义:给某一个元素设置一些属性,该元素的后代也可以使用,这个我们就称之为继承性 #2.注意: 1.只有以color.font-.text-.line-开头的属性才可以继 ...

  • CSS选择器区别

    "竞争永远只有一个冠军,但我们依然可以选择做自己的盖世英雄.赶快披上漂亮的CSS外衣,好好表现自己一番吧." --有心人做有心事哦,晚安EmilyChen! (一)单一 [1]属性 ...

  • 前端css选择器

    从零开始的前端生活--css基础 选择器 选择器是用来选择对应的html元素. 类选择器 以" . "为开头的选择器,很多元素可以共用同一个类选择器 ID选择器 以" # ...

  • CSS选择器的优先级

    常用 CSS选择器 查看地址(https://www.cnblogs.com/hleisurely/p/12836777.html) 1.选择器的优先级 !important的优先级别最高 权重值为1 ...

  • CSS选择器

    标签选择器 例如:`p`.`a`.`h[1,6]`.`span`.`div`... 类选择器(class) class 选择器以 "." 来定义. 如:.id1{样式属性:值;} ...

  • [css] 第113天 标签、class和id选择器三者的区别是什么?分别在什么时候用?

    今日试题: 标签.class和id选择器三者的区别是什么?分别在什么时候用? 此开源项目四大宗旨:勤思考,多动手,善总结,能坚持 <论语>,曾子曰:"吾日三省吾身"(我 ...

  • 【11】css 基本功:引入方式及选择器相关

    vue 组件开发,必须熟悉基本的 css 知识及技巧. 目录 1.原生 css 的三种引用方式 2.组件开发中的选择器 2.1.深度作用选择器 2.2.不使用类型选择器 3.css 选择器 1.原生 ...