同一元素,同一个样式被定义了很多次导致样式冲突。
目前我们所知的CSS样式表主要有三种来源:
<div style="color: red;"></div>
<style>div {color: red;}</style>
<link rel="stylesheet" href="style.css">
优先级:行内 > 内部 = 外部
那么同一个样式表中,如果有多个样式定义了同一个元素的同一个属性,那么谁的优先级更高呢?
通过不同的选择器选中同一个元素,出现了样式冲突,那么听谁的呢?
!important > 行内 > ID选择器
> 类选择器
> 元素选择器
> 通配符选择器
例如如下例子:
(a,b,c)
#
(和).
,伪类:
和属性选择器[]
的个数(和)::
选择器的个数(和)例如上面的例子:
所以说,第一个选择器的权重更高,所以Hello World
的颜色是蓝色。
如果算出来的a,b,c结果一样,那么就是谁在后面定义的谁生效(后来者居上)。
基础选择器则:
ID
(1,0,0)类选择器
(0,1,0)元素选择器
(0,0,1)通配符选择器
(0,0,0)也有其他的表示方式:
选择器 | 权重 |
---|---|
!important | ∞ |
行内样式 | 1000 |
ID选择器 | 100 |
类选择器, 伪类,属性 | 10 |
元素,伪元素 | 1 |
通配符 | 0 |
你写11个类选择器,也不如一个ID选择器的权重高。