css三大特性分别是层叠性,继承性,权重性。
一、层叠性
所谓层叠性是指多种css样式的叠加。是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉
原则:
1.样式冲突,遵循得原则是就近原则。哪个样式离着结构近,就执行那个样式。
2. 样式不冲突,不会层叠。
注:比如先给某个标签指定了内部文字颜色为红色,接着又指定了颜色为蓝色,此时出现一个标签指定了相同样式不同值得情况,这就是样式冲突。
一般情况下,如果出现样式冲突,则会按照css书写得顺序,已最后得样式为准。
二、css继承性
所谓继承性是指书写css样式表时,子标签会继承父标签得某些样式,如颜色和字号。想要设置一个可继承得属性,只需将它应用于父元素即可。简单理解就是子承父业。
首先, 行高是可继承的属性;
其次, 行高可以跟单位也可以不跟单位, 不跟单位时就是指当前元素的字体大小的倍数。
body {
font:12px / 1.5 Mircosoft YaHei;
}
body{ font: 12px/1.5 'Microsoft Yahei'; } div{ font-size: 14px; //此元素显示的行高为21px } .p{ font-size: 20px; //此元素行高为30px }
三、css优先级
定义css样式时:经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。
在考虑权重时,初学者还需要注意一些特殊的情况,具体如下:
继承样式的权重为0,即在嵌套结构中,不管父元素样式的权重多大,被子元素继承过来,他的权重都为0,也就是子元素定义的样式会覆盖继承过来的样式。
行内样式优先。应用style属性的元素。其行内样式的权重非常高,可以理解为远大于100。
权重相同时,css遵循就近原则,也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。
css定义了一个 !important命令,该命令被赋予最大的优先级。也就是不管权重如何以及样式未知的远近, !important都具有最大优先级。