css竞争规则

竞争规则:css允许多次将同一个规则赋予某个元素。层叠排序根据规则中使用的选择符将规则划分6组,高优先级组里的规则会覆盖低优先级组里的规则。普通的选择符会设置文档的总体样式,更具体的选择符会覆盖普通选择符,以为其提供更加特殊的样式

6个选择符群组:

1.       使用!important规则群组拥有最高优先级,他们会覆盖掉所有非!important规则

#i100 {border:6px  solid black !important;}

2.       优先级第二高的群组是指那些嵌在style属性里面的规则。因为使用style属性会增加代码的维护难度,不建议使用

3.       优先级第三高的群组是指含有一个或多个ID选择符的规则,如 #i100 {border:6px  solid black }会覆盖*.c100{border:4px solid black}

4.       优先级第四高的群组是指含有一个或多个类,属性或僞类选择符的规则,如*.c100{border:4px solid black}会覆盖div{border solid black}

5.       优先级第五高的群组是含有一个或多个元素选择符的规则,如div{border:2px solid black}会覆盖 *{ border:0px solid black}

6.       优先级最低的是只有通配符的规则

 

当竞争规则属于同一个选择符群组时,会按照选择符的种类和数量对其进行优先级排序,当选择符有高优先级选择符多于它的竞争选择符,它将获得更高的优先级。如#i00 *.c20 *.c10{}优先级高于#i100 *.c10 div p span{}

 

当竞争规则位于同一选择符群组并拥有同样等级和数量的选择符时,他们的优先级按所处位置来排,以下6个位置群组按从高到低优先级顺序排列:

1.       最高优先级位置为html文档头部中的<style>元素

2.       第二高是通过<style>元素里的@import语句来引入的样式表

3.       第三高是通过<link>元素来链接的样式表

4.       第四高是通过<link>链接的样式表通过@import语句引入的样式表

5.       第五高是由终端用户绑定的样式表,除非使用了!important

6.       最低优先级是浏览器提供的默认样式表

 

 

简化层叠的方法:

1.       把绑定的样式表数量最小化,但是不使用@import语句

2.       避免使用!important运算符

3.       对每一个选择符进行排序

/*通配选择符*/

/*元素选择符*/

/*类,属性和僞类选择符*/

/*ID选择符*/

/*!important通配选择符*/

/*!important元素选择符*/

/*!important类,属性和僞类选择符*/

/*!important ID选择符*/

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值