CSS中多个class的优先级

9 篇文章 0 订阅

在网页中为元素添加样式时,经常会用到多个 class 属性。

那他们之间的优先级关系是怎样的呢:
当一个元素指定多个 class 时,class 的优先级与指定顺序无关,而是和 class 的定义顺序有关。后声明的优先级高。


比如一个按钮,我们写的通用属性是:

.bt {
	border: 1px solid;
	border-radius: 5px;
	box-sizing: border-box;
	background-color: white;
}

也就是说我们的按钮默认是上面的样式。如果我们现在有一个特殊的按钮,我们希望背景颜色是红色,其他样式属性不变,我们可以再定义一个 special 。

.special{
	background-color: red;
}

这样我们在指定元素的 class 属性时,如何确定 special 的样式会覆盖 bt 的样式呢。

我在一开始写的时候,我是这样指定的:

<button class="bt special">按钮</button>

但是并没有覆盖之前的,然后我就修改了顺序:

<button class="special bt">按钮</button>

然后发现仍没有覆盖,然后在网上查了一下,当一个元素指定多个 class 时,class 的优先级与指定顺序无关,而是和 class 的定义顺序有关。

然后看了一下我的 css 文件,果然我的 bt 定义在 special 之后,然后我把 他俩的顺序换了一下,special 就可以覆盖 bt 中的样式属性了。

所以,我们在定义样式属性时,一定要把最基础的放在最前面,这样当有特殊的要求时,就可以覆盖之前的属性。

  • 11
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值