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+
(来自面试题的总结)
网友评论