CSS的三大特性
1. 继承性
作用:
给父元素设置一些属性, 子元素也可以使用, 这个我们就称之为继承性
注意点:
- 并不是所有的属性都可以继承, 只有以
color/font-/text-/line-
开头的属性才可以继承- 在CSS的继承中不仅仅是儿子可以继承, 只要是后代都可以继承
- 继承性中的特殊性
- a标签的文字颜色和下划线是不能继承的
- h标签的文字大小是不能继承的
应用场景:
一般用于设置网页上的一些共性信息, 例如网页的文字颜色, 字体,文字大小等内容
2. 层叠性
作用:
层叠性就是csss处理冲突的一种能力
注意点:
层叠性只有在
多个选择器选中“同一个标签”
,然后又设置了“相同的属性”
,才会发生层叠性
3.优先级
作用:
当
多个选择器选中同一个标签
,并且给同一个标签设置相同的属性
时,如何层叠就由优先级来确定
3.1 优先级判断的三种方式
3.1.1 间接选中
间接选中 就是指继承:如果是间接选中,那么就是谁
离目标标签比较近
就听谁
3.1.2 相同选择器
相同选择器(直接选中):如果都是直接选中,并且都是同类型的选择器,那么就是
谁写在后面
就听谁的
3.1.3 不同选择器
不同选择器(直接选中):如果都是直接选中,并且不是相同类型的选择器,那么就会按照选择器的优先级来层叠
id > 类 > 标签 > 通配符 > 继承 > 浏览器默认
3.2 优先级之!important
作用:
用于提升某个直接选中标签的选择器中的某个属性的优先级,可以将被指定的属性的
优先级提升为最高
注意点 :
!important
只能用于直接选中,不能用于间接选中- 通配符选择器选中的标签也是直接选中的
!important
只能提升被指定属性的优先级,其他属性的优先级不会被提升!important
必须写在属性值的;
前面!important
前面的!
不能省略- 但是一般不推荐使用
!important
,因为它会改变级联的工作方式,使得调试变得困难
3.3 优先级权重
作用:
当多个选择器混合在一起使用时,我们可以通过计算权重来判断谁的优先级最高
权重的计算规则:
- 内联样式:
如:style = “…”,权值为
1000
- ID选择器:
如:#content,权值为
0100
- 类、伪类、属性选择器:
如:.content,权值为
0010
- 标签选择器、伪元素选择器:
如:.content,权值为
0010
- 通配符、复合选择器(+、>、~等)、否定伪类(:not)没有影响,权值为
0000
- 继承的样式没有权值
如何进行计算?
- 首先先计算选择器中有多少个id,id多的选择器优先级最高
- 如果id的个数一样,那么再看类名的个数,类名的个数多的优先级最高
- 如果id个数一样,类名个数也一样,标签名称个数也一样,那么就不会继续往下计算了,那么此时谁写在后面就听谁的
(优先级一样时,谁写在后面听谁的)
注意点:
只有选择器是直接选中标签的才需要计算权重,,否则一定会听直接选中的选择器的