CSS 笔记(四):特性
继承性
子元素可以继承使用父元素设置的一些属性
- 并不是所有的属性都可以继承,只有以 color / font- / text- / line 开始的属性可以继承
- 在 CSS 的继承中,凡是后代元素都可以继承
- a 标签不能继承文字颜色和下划线,h 标签不能继承文字大小
一般用于设置网页上的共性信息,例如网页的文字颜色、字体、大小等
层叠性
CSS 处理冲突的原则
- 层叠性只有在多个选择器选中 “同一个标签”,且设置了 “相同的属性” 才会发生
CSS 全称 Cascading Style Sheets
优先级
当多个选择器选中 “同一个标签”,且设置了 “相同的属性” 时,决定 CSS 如何层叠样式
- 如果为间接选中(继承),那么距离目标标签更近的选择器优先级更高
- 如果为直接选中,判断选择器是否相同,如果相同,且均是相同类型的选择器,则位于最后的选择器优先级更高
- 如果为直接选中,判断选择器是否相同,如果不同,且不是相同类型的选择器,则以选择器的优先级来层叠
id -> 类 -> 标签 -> 通配符 -> 继承 -> 浏览器默认
- 通配符选中的标签是直接选中的
!important
用于提升某个选择器(以直接的方式选中某个标签)中某个属性的优先级至最高
key: value !important;
- !important 只能用于直接选中,而不能用于间接选中
- !important 只能提升被指定属性的优先级,而其它属性的优先级不会被提升
- !important 中的感叹号不能省略
权重问题
当多个选择器混合在一起使用时,我们可以通过计算权重来判断哪一组选择器的优先级最高
- 如果计算每一组选择器中 id 选择器的数量,数量最多的优先级最高
- 如果 id 选择器的数量相同,计算每一组选择器中类选择器的数量,数量最多的优先级最高
- 如果类选择器的数量相同,计算每一组选择其中标签选择器的数量,数量最多的优先级最高
- 如果标签选择器的数量相同,位于最后的选择器优先级更高
- 每一组选择器均为直接选中某个标签,且设置了相同的属性时,才需要计算权重