优先级计算
当对HTML中的同一个元素有多个选择器时,就涉及到了规则的优先级问题,规则的优先级是根据对应的选择器的优先级来的,选择器有6中优先级,从小到大排列:
- 通用选择器(universal selector),用通配符表示,如 * {boder:0px solid black}
- 元素选择器(element selector),如 div {boder:0px solid black}
- 类、属性或者伪类选择器,如 .c10 {boder:0px solid black},:hover {...}
- ID选择器,如#i100 {boder:0px solid black}
- HTML元素的style属性
- 加了!important的规则,如 #i100{border:6px solid black !important;}
当前面所属的规则还是不能解决冲突时,即规则所在的选择器属于“一类”。那么就按照规则所处的位置来决定谁的优先级更高,下面的位置是按照优先级从低到高来排序的:
- 浏览器提供的默认样式表。
- 用户自己加的样式表(PS:什么意思)
- <link>元素中引入的样式表
- <style>元素中以@import引入的样式表
- <style>元素中的样式表,即写在html页面中的样式表