CSS 选择器有哪些及优先级

*通用选择器:选择所有元素,不参与计算优先级,兼容性 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

猜你喜欢

转载自blog.csdn.net/Menqq/article/details/113197452