CSS三大特性
- 层叠性
- 继承性
- 优先级
继承性
特性:子元素可以继承父元素的某些特性(子承父业)
- 控制文字的属性都可以被继承,不是控制文字的属性不能被继承;
- 如果浏览器有默认样式,继承依然存在,但是会优先执行浏览器的默认样式;
- a标签的颜色属性可以被继承,但是被浏览器默认的样式给覆盖.
- h系列标签的字体大小被继承,但是被浏览器默认的样式覆盖。
- 高度不能被继承,但是宽度有类似继承的效果
- 常见的继承属性如下
font-style: italic; font-weight: 700; font-size: 30px; font-family: 宋体; text-indent: 2em; text-align: center; line-height: 300px;
层叠性
- 相同选择器才会有层叠性
- 层叠性遵循原则:就近原则.
- 样式冲突---则层叠(覆盖)
- 样式不冲突--则叠加(共同作用在一个标签上)
优先级
不同选择器会有不同的优先级, 优先级高的样式会覆盖优先级低的样式.
- 判断公式:
继承<通配符选择器<标签选择器+ 伪元素::after ||::before <类选择器+伪类 :hover<id选择器<行内样式<!important
各个选择器的权重:
标签选择器 0 0 0 1 简单记忆 1
类选择器 0 0 1 0 简单记忆10
id选择器 0 1 0 0 简单记忆100
行内样式 1 0 0 0 简单记忆1000
- !important如果不是继承,权重最高 天下第一
- 复合选择器权重会叠加: div p 后代选择器: 0001 + 0001 = 0002
- 不会有进位的情况,比如 0,0,0, 10
- 优先级相同,会执行层叠性,写在最后面的会生效