在网上查找了一下,各说法不一不全所以个人理解重新整合了一下CSS优先级关系:
内联样式 > ID 选择器 > 类选择器 > 标签选择器 > 属性选择器 > 通配选择器 > 伪类选择器 > 伪元素选择器
一共八种
-
内联样式,在style属性里面直接写的样式
-
ID 选择器, 如 #id{}
-
类选择器, 如 .class{}
-
标签选择器, 如 span{}
-
属性选择器, 如 a[href="segmentfault.com"]{}
-
通配选择器, 如 *{}
-
伪类选择器, 如 :hover{}
-
伪元素选择器, 如 ::before{}
还有两个是解决优先级更高覆盖其他样式的写法
-
/deep/ 深度选择器
-
!important,提高指定样式规则的应用优先权(优先级)
伪类选择器说明一下
/* 未访问的链接 */ a:link /* 已访问的链接 */ a:visited /* 鼠标悬停链接 */ a:hover /* 已选择的链接 */ a:active