结构和层叠

特殊性

1.      元素选择器、伪类及伪元素:优先级积分为1

2.      类选择器、属性选择符:优先级积分为10

3.      ID选择器:优先级积分为100

4.      style属性:优先级积分为1000

5.      其他,如通配选择器:优先级积分为0

重要性

!important关键字声明的属性是最高的

继承

        想要了解继承如何工作,最简单方法是查看文档的树图。属性值会沿着树向下传播到后代元素,直到没有更多的后代元素继承这个值为止。元素不会把值向上传递到其祖先。一般的大多数框模型属性(margin,padding,background和border)都不能继承。继承的值没有特殊性,及没有优先级,甚至连0特殊性都没有。

        对于通配选择符(*)的使用,由于继承没有特殊性,所以不加区分的使用通配选择器可能会存在短路继承的问题。

*{color:red;}

body{color:yellow;}
<body>

<p>body是p父元素,由于继承,所以文字是黄色,但是由于继承无特殊性,使用通配选择器,文字是红色的</p>

</body> 
层叠

通过结合继承和特殊性将样式层叠在一起,CSS2.1的层叠规则:

1.      找出所有相关的规则,这些规则包含与一个给定元素匹配的的选择器。

2.      按显示权重对应到该元素的所有声明排序。标志!important的规则的权重高于没有!important标志的规则。按来源对应到给定的元素的所有声明排序。共有3种来源:创作人员,读者和用户代理。

按权重和来源排序

1)        读者的重要声明

2)        创作人员的重要声明

3)        创作人员的正常声明

4)        读者的正常声明

5)        用户代理声明

3.      按特殊性对应给定元素的所声明排序。

4.      按出出现顺序对应用到给定元素的所有声明排序。一个声明在样式表或文档中越后出现,它的权重就越大。如果样式表中有导入样式表,一般认为出现在导入样式表中的声明在前,主样式表中的声明在后。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值