- 结构伪类选择器:
<div> <ul> /*ul:only-of-type*/ <li>one</li> /*li:first-child li:nth-child(2n+1)*/ <li>two</li> /*li:nth-child(2)*/ <li>three</li> /*li:last-child li:nth-child(2n+1)*/ </ul> <div>adc</div> /*div div:first-of-type*/ <p>para</p> <div>def</div> /*div div:last-of-type*/ <p>para</p> /*p:nth-of-type(2)*/ <b>ghi<b> </div>
1.E:first-child :作为父元素的第一个子元素的元素E。与E:nth-child(1)等同。
2.E:last-child :作为父元素的最后一个子元素的元素E.与E:nth-last-child(1)等同。
3.E:root :选择匹配元素E所在文档的根元素。
4.E F:nth-child(an+b) ,n取任意正整数与0。选择父元素E的第an+b+1个子元素F。即所选中的元素前有an+b个F类型的兄弟节点。
5.E F:nth-last-child(),类似上方。从后数。
6:E:nth-of-type(n),选择父元素内具有指定类型的第n个E元素。
7:E:nth-last-of-type(n),选择父元素内具有指定类型的倒数第n个E元素。
8:E:last-of-type
9:E:first-of-type
10:E:only-child,父元素只包含一个子元素,且子元素匹配E。
11:E:only-of-type,选择父元素只包含一个同类型的子元素,且该子元素匹配E
12:E:empty:选择没有子元素的元素,且不包含文本节点。 - 否定伪类选择器:
E:not(F),匹配所有除F外的E元素。 - 属性选择器:
1.E[attr] :选择匹配具有attr属性的E元素
2.E[attr=val] :选择匹配具有attr属性的E元素,且属性值为val(val区分大小写)。
3.E[attr|=val] :选择匹配具有attr属性的E元素,且属性值为val或以val开头。
4.E[attr~=val] :选择匹配具有attr属性的E元素,attr属性值具有多个空格分隔的值,且其中一个属性值为val。
5.E[attr*=val] :选择匹配具有attr属性的E元素,且属性值任意位置包含了val。
6.E[attr^=val] :选择匹配具有attr属性的E元素,且属性值以了val开头。
7.E[attr^=val] :选择匹配具有attr属性的E元素,且属性值以了val结尾。