第三讲_css选择器优先级

1. 单个选择器优先级

id 选择器 > 类选择器 > 元素选择器 > 通用选择器

<style>
	* {
		color: red;
	}
	#cid {
		color: green;
	}
	.cclass{
		color: blue;
	}
	div{
		color: pink;
	}
</style>

<div id="cid" class="cclass">
	hello world
</div>

ps:可以注释掉对应的选择器,执行观察结果,非常容易得出上面的优先级结论

2. 组合选择器优先级

组合选择器的优先级需要先计算它的权重,权重的计算结果(x, y, z),然后比较权重。

权重的计算方式:

  • x:id选择器的个数
  • y:类选择器、伪类选择器、属性选择器的个数
  • z:元素选择器、伪元素选择器的个数

权重的比较方式:

  1. 先比较xx大的优先级高。
  2. 如果x相同,再比较yy大的优先级高。
  3. 如果y也相同,再比较zz大的优先级高。
  4. 如果z也相同,比较选择器编写的先后顺序,后面的优先级高。
<style>
/* 下面的 3 个选择器都匹配了相同元素 */

/* 选择器的权重为(0, 0, 2) */
div div {
	color: red;
}

/* 选择器的权重为(0, 1, 1) */
.container div {
	color: green;
}

/* 选择器的权重为(1, 1, 0) */
.container #first-div {
	color: blue;
}
</style>
<div class="container">
	<div id="first-div">hello world</div>
</div>

ps:获取选择器的权重简单方式:vscode中把鼠标放在选择器上,即可得到选择器的权重

3. !important

!important 与优先级无关,当某个样式属性值后面跟了!important,它将覆盖在任何地方声明的该属性。

<style>
/* 选择器的权重为(0, 0, 2) */
div div {
	color: red !important;
}

/* 选择器的权重为(1, 1, 0) */
.container #first-div {
	color: blue;
}
</style>
<div class="container">
	<div id="first-div">hello world</div>
</div>

4. css的特性

4.1 层叠性

如果发生了样式冲突,那就会根据一定规则(选择器优先级),进行样式的层叠。

4.2 继承性

元素自动拥有其父元素或其祖先元素的某些样式,优先继承离得近的。

ps:一般颜色、文本属性等可以继承

4.3 优先级

!important > 行内样式 > id 选择器 > 类选择器 > 元素选择器 > 通用选择器 > 继承的样式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值