选择器优先级是通过权重计算来的,分为三大类,从高到低是
- ID 选择器
- class 、属性 和伪类选择器 (.title , input[type="text"] , :hover)
- 类型(标签)和伪元素选择器 (div , ::before) 除了选择器之外,行内样式的优先级最高,但是它的权重可能会被 important 覆盖。在计算权重的时候,可以用一组向量标志来表示。从左到右。第一位是行内元素,在有行内元素的时候加1,第二位是 ID 选择器的数量,第三位是 class 属性和伪类选择器的数量,第四位是类型和伪元素选择器的数量。如果计算结果权重相同,那么以定义顺序靠后的选择器优先,或者是以 important 标记。