CSS 三大特性
概念:
所说层叠性指的是多种CSS样式的叠加。 是浏览器处理冲突的一个能力,倘若一个属性经过两个相同选取器设置到同一个元素上,那样这个时候一个属性就会将另一个属性层叠掉。
原则: 样式冲突,遵循的原则是就近原则。 那个样式离着结构近,就执行那个样式。样式不冲突,不会层叠。CSS层叠性执行口诀: 长江后浪推前浪,前浪死在沙滩上。
CSS继承性
概念:
子标签会继承父标签的某些样式,如文本颜色和字号。
想要设置一个可继承的属性,只需将它应用于父元素就可。 简单的理解便是:子承父业。
重视: 恰当地运用继承能够简化代码,降低CSS样式的繁杂性。例如有非常多子级孩儿都必须某个样式,能够给父级指定一个,这些孩儿继承过来就好了。子元素能够继承父元素的样式(text-,font-,line-这些元素开头的能够继承,以及color属性)。CSS优先级(重点)
概念: 定义CSS样式时,经常显现两个或更加多规则应用在同一元素上:
选取器相同,则执行层叠性。选取器区别,就会显现优先级的问题。
1. 权重计算公式
关于CSS权重,咱们必须一套计算公式来去计算,这个便是 CSS Specificity(特殊性) 标签选取器计算权重公式继承或 *0,0,0,0每一个元素(标签选取器)0,0,0,1每一个类,伪类0,0,1,0每一个ID0,1,0,0每一个行内样式 style=""1,0,0,0每一个!important 要紧的∞ 没穷大值从左到右,左面的最大,一级大于一级,数位之间无进制,级别之间不可超越。 关于CSS权重,咱们必须一套计算公式来去计算,这个便是 CSS Specificity(特殊性)。
div { color: pink!important; }
2. 权重叠加
咱们经常用交集选取器,后代选取器等,是有多个基本选取器组合而成,那样此时,就会显现权重叠加。
便是一个简单的加法计算: div ul li ------> 0,0,0,3.nav ul li ------> 0,0,1,2a:hover -----—> 0,0,1,1.nav a ------> 0,0,1,1重视: 数位之间无进制 例如说: 0,0,0,5 + 0,0,0,5 =0,0,0,10 而不是 0,0, 1, 0, 因此不会存在10个div能赶上一个类选取器的状况。继承的权重是0 。这个不难,然则忽略很容易绕晕。其实,咱们修改样式,必定要看该标签有无被选中。 倘若选中了,那样以上面的公式来计权重。谁大听谁的。倘若无选中,那样权重是0,由于继承的权重为0 。编程师笔记 http://www.bcsbj.com
|