无题
CSS三大特性
一、层叠性
样式冲突,遵循就近原则,执行样式离结构近的
样式不冲突则不层叠
二、继承性
子标签会继承父标签的某些样式,如文本颜色和字号
1 | div { |
恰当使用继承可以简化代码,降低CSS的复杂性
子元素可以继承父元素的样式 (text-,font-,line-等开头的元素可以继承,以及color属性)
1 | body { |
三、优先级
选择器权重
标签选择器 | 计算权重公式 |
---|---|
继承或者 * | 0,0,0,0 |
每个元素(标签选择器) | 0,0,0,1 |
每个类,伪类 | 0,0,1,0 |
每个ID | 0,1,0,0 |
每个行内样式 style=”” | 1,0,0,0 |
每个!important 最重要的 | ∞ 无穷大 |
值从左到右,左面的最大,一级大于一级,数位之间没有进制(会加到0,0,0,7也不会有进位),级别之间不可超越。
关于CSS权重,我们需要一套计算公式来去计算,这个就是 CSS Specificity(特殊性)
div { color: pink !important; }
注意权重对应的对象是谁,有可能对于这个标签来说其实是继承。
不管父元素的权重多高,子元素得到的权重都只是继承而已。
1 | <style> |
权重叠加:(如果是复合选择器,则会有权重叠加)
1 | div ul li ------> 0,0,0,3 三个标签选择器权重相加 |
注意:
1 | <style> |
这里.nav未产生继承,因为.nav后面加了li,所以直接选择了li元素,所以.nav算为类的权重
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 隐微のBlog!