css3选择器
一、伪类选择器
1.结构性伪类选择器
X:first-child匹配子集的第一个元素。
X:last-child匹配父元素中最后一个X元素
X:nth-child(n)用于匹配索引值为n的子元素,索引值从1开始
X:only-child这个伪类一般用的比较少,比如上述代码匹配的是div下的有且只有一个的p,也就是说,如果div内有多个p,将不匹配。
X:empty匹配没有任何子元素(包括包含文本)的元素X
2.目标伪类选择器
E:target 选择匹配E的所有元素,且匹配元素被相关URL指向
3.UI元素状态伪类选择器
E:enabled 匹配所有用户界面(form表单)中处于可用状态的E元素
E:disabled 匹配所有用户界面(form表单)中处于不可用状态的E元素
E:checked 匹配所有用户界面(form表单)中处于选中状态的元素E
4.否定伪类选择器
E:not(s)(IE6-8浏览器不支持:not()选择器)
匹配所有不匹配简单选择符s的元素E
5.动态伪类选择器
E:link链接伪类选择器:选择匹配的E元素,而且匹配元素被定义了超链接并未被访问过,常用于链接描点上
E:visited链接伪类选择器:选择匹配的E元素,而且匹配元素被定义了超链接并已被访问过,常用于链接描点上
E:active用户行为选择器:选择匹配的E元素,且匹配元素别激活。常用于链接描点和按钮上
E:hover用户行为选择器:选择匹配的E元素,且鼠标停留在元素E上。IE6及以下浏览器仅支持a:hover
E:focus用户行为选择器:选择匹配的E元素,而且匹配元素获取焦点
四、层次选择器
E>F 子选择器:选择匹配的F元素,且匹配的F元素所匹配的E元素的子元素
E+F相邻兄弟选择器:选择匹配的F元素,且匹配的F元素仅位于匹配的E元素的后面
E~F 通用选择器 选择匹配的F元素,且位于匹配的E元素后得到所有匹配的F元素
五、属性选择器
1.E[attr]:只是用属性名,但没有确定任何属性值;
2.E[attr="value"]:指定属性名,并指定了该属性的属性值;
3.E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写
4.E[attr^="value"]:指定了属性名,并且有属性,属性值是以value开头的
5.E[attr$="value"]:指定了属性名,并且有属性值,且属性值是以value结束的
6.E[attr*="value"]:指定了属性名,并且有属性值,而且属性中包含了value
7.E[attr|="value"]:指定了属性名,并且属性值是value或者以"value-"开头的值(比如说zh-cn)