*
通用选择器:选择所有元素,不参与计算优先级,兼容性 IE6+
#X id
选择器:选择 id 值为 X 的元素,兼容性:IE6+
.X
类选择器: 选择 class 包含 X 的元素,兼容性:IE6+
X Y
后代选择器: 选择满足 X 选择器的后代节点中满足 Y 选择器的元素,兼容性:IE6+
X
元素选择器: 选择标所有签为 X 的元素,兼容性:IE6+
:link
,:visited,:focus,:hover,:active 链接状态: 选择特定状态的链接元素,顺序 LoVe HAte,兼容性: IE4+
X + Y
直接兄弟选择器:在X 之后第一个兄弟节点中选择满足 Y 选择器的元素,兼容性: IE7+
X > Y
子选择器: 选择 X 的子元素中满足 Y 选择器的元素,兼容性: IE7+
X ~ Y
兄弟: 选择X 之后所有兄弟节点中满足 Y 选择器的元素,兼容性: IE7+
[attr]:
选择所有设置了 attr 属性的元素,兼容性 IE7+
[attr=value]:
选择属性值刚好为 value 的元素
[attr~=value]
:选择属性值为空白符分隔,其中一个的值刚好是 value 的元素
[attr|=value]:
选择属性值刚好为 value 或者 value-开头的元素
[attr^=value]:
选择属性值以 value 开头的元素
[attr$=value]:
选择属性值以 value 结尾的元素
[attr=value]*:
选择属性值中包含 value 的元素
[:checked]:
选择单选框,复选框,下拉框中选中状态下的元素,兼容性:IE9+
X:after, X::after:
after 伪元素,选择元素虚拟子元素(元素的最后一个子元素),CSS3 中::表示伪元素。兼容性:after 为
IE8+
,::after 为 IE9+
:hover
:鼠标移入状态的元素,兼容性 a 标签 IE4+, 所有元素 IE7+
:not(selector)
:选择不符合 selector 的元素。不参与计算优先级,兼容性:IE9+
::first-letter
:伪元素,选择块元素第一行的第一个字母,兼容性 IE5.5+
::first-line
:伪元素,选择块元素的第一行,兼容性 IE5.5+
:nth-child(an + b)
:伪类,选择前面有 an + b - 1 个兄弟节点的元素,其中 n >= 0, 兼容性 IE9+
:nth-last-child(an + b)
:伪类,选择后面有 an + b - 1 个兄弟节点的元素 其中 n >= 0,兼容性 IE9+
X:nth-of-type(an+b)
:伪类,X 为选择器,解析得到元素标签,选择前面有 an + b - 1 个相同标签兄弟节点的元素。兼容性 IE9+
X:nth-last-of-type(an+b)
:伪类,X 为选择器,解析得到元素标签,选择后面有 an+b-1 个相同标签兄弟节点的元素。兼容性 IE9+
X:first-child
:伪类,选择满足 X 选择器的元素,且这个元素是其父节点的第一个子元素。兼容性 IE7+
X:last-child
:伪类,选择满足 X 选择器的元素,且这个元素是其父节点的最后一个子元素。兼容性 IE9+
X:only-child
:伪类,选择满足 X 选择器的元素,且这个元素是其父元素的唯一子元素。兼容性 IE9+
X:only-of-type
:伪类,选择 X 选择的元素,解析得到元素标签,如果该元素没有相同类型的兄弟节点时选中它。兼容性 IE9+
X:first-of-type
:伪类,选择 X 选择的元素,解析得到元素标签,如果该元素 是此此类型元素的第一个兄弟。选中它。兼容性 IE9+
CSS的选择器可以分为三类,即id选择器、class选择器、标签选择器。
用法
id
选择器: #id
名 { 属性名:属性值; }
class
选择器 :.class
名 { 属性名:属性值; }
标签选择器: 标签名 { 属性名:属性值; }
其中,他们之间又可以以不同的方式进行组合,如下:
后代选择器: 父代名 后代名 { 属性名:属性值; }
子代选择器:父代名>子代名 { 属性名:属性值; }
群组选择器: #name1, .name2, #name div
{ 属性名:属性值; }
伪类选择器: name
:伪类
通用(通配符)选择器:*
{ 属性名: 属性值; } ……
常用的也就这些。
完整CSS选择器参考手册
CSS选择器优先级
最高优先级是 (直接在标签中的设置样式,假设级别为1000)
次优先级是(ID选择器 ,假设级别为100) #myDiv{color:Red;}
其次优先级是(类选择器,假设级别为10).divClass{color:Red;}
最后优先级是 (标签选择器,假设级别是 1) div{color:Red;}
那么后代选择器的优先级就可以计算了啊
比如
.divClass span { color:Red;}
优先级别就是:10+1=11