css选择器权重计算规则

本文介绍了CSS中样式的层叠机制,包括样式的来源、选择器的特殊性以及如何使用!important提高优先级等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

优先级是决定不同选择器的相同样式规则对同一元素的生效情况,优先级高的将覆盖优先级低的样式规则。而优先级又受到样式来源和选择器特殊性的影响,下面我们一起来了解以下。

一、样式来源

1、行内样式

<h1 style="font-size:12px;color:#000;">我的行间CSS样式。</h1>

2、内联样式

<style type="text/css">
   h1{font-size:12px;
      color:#000;
      }
</style>

3、外部样式

<link rel="stylesheet" href="css/style.css">
行内样式 > 页内样式 > 外部引用样式 > 浏览器默认样式

二、特殊性(选择器的特殊性值表述为4个部分,用0,0,0,0表示


选择器类型权重
行内样式1,0,0,0
ID选择器0,1,0,0
选择器、属性选择器、伪类选择器0,0,1,0
元素(类型)选择器,伪元素(类型)选择器0,0,0,1
通用元素选择器、伪类:not选择器、通配符、子选择器、相邻选择器等0,0,0,0
三、比较过程

     (a). 首先根据选择器类型计算出总权重

     (b). 若权重相同则比较来源

     (c). 若前两者相同,则后面声明的优先级高。

四、通过!important提高优先级(IE5.5~6不支持)

通过在样式规则后面添加!important关键词,可以将该样式规则提高到最高优先级。





 



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值