css三大特性
(1)CSS层叠性
是浏览器处理冲突的一个能力。如果一个属性通过两个选择器设置到同一
个元素上,那么这个时候一个属性就会将另一个属性层叠掉 。 就直接重叠覆盖下面的那个属性
(2)CSS继承性
作用:子元素可以继承父元素的样式。
特殊性:
并不是所有的属性都可以继承, 只有以color/font-/text-/line-开头的属性
才可以继承。
在CSS的继承中不仅仅是儿子可以继承, 只要是后代都可以继承 。 a标签的颜色和下划线的设置不能继承,必须对a标签本身进行设置。
h标签的字体大小不能修改,必须对h标签本身进行修改。
(3)CSS优先级
- 什么是优先级?
优先级表示当多个选择器选中同一个标签, 并且给同一个标签设置相同
的属性时, 如何层叠就由优先级来确定 - 优先级判断
1、如果使用的是同类型的选择器,那么谁写在后面就听谁的。就近
原则
2、如果使用的是不同类型的选择器,那么会按照选择器的优先级来
层叠。
!important > 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 >
浏览器默认属性 - 优先级之!important
用于提升选择器中某个属性的优先级, 可以将被指定属性的优先级提升
为最高 。
1、!important只能提升被指定的属性的优先级, 其它的属性的优先级
不会被提升 。
2、!important必须写在属性值得分号前面,与属性值之间加上一个空
格 。
3、!important前面的感叹号不能省略
4、优先级权重
当多个选择器混合在一起使用时, 我们可以通过计算权重来判断谁的优
先级最高 。
权重计算规则
(1)内联样式,如: style=””,权值为1,0,0,0。
(2)ID选择器,如:#content,权值为0,1,0,0。
(3)类,伪类和属性选择器,如.content E:link E[attr],权值为0, 0,1,0。
(4)元素选择器和伪元素选择器,如div p ::before,权值为0,0, 0,1。
(5)通配符、子选择器、相邻选择器等的。如*、>、+,权值为0,0, 0,0。
(6)继承的样式没有权值。!important的权重最高