CSS3结构性伪类选择器

今天来说说九个CSS3结构性伪类选择器。

一、X:nth-child(n)

li:nth-child(3) {
color: red;
}

接下来的几个伪类选择器使用上非常类似,功能也比较接近。
:nth-child(n),用于匹配父元素中的第n个子元素。索引值从1开始。X:nth-child()用法实际上有三种变化,demo的用法是最简单的,X:nth-child()更强大的用处在于奇偶匹配,例如:

tr:nth-child(2n+1) /* represents every odd row of an HTML table */
tr:nth-child(odd)  /* same */
tr:nth-child(2n)   /* represents every even row of an HTML table */
tr:nth-child(even) /* same */

二、X:nth-last-child(n)

li:nth-last-child(2) {
color: red;
}

:nth-child(n),是从第一个开始算索引,而X:nth-last-child(n)是从最后一个开始算索引。

三、X:nth-of-type(n)

ul:nth-of-type(3) {
border: 1px solid black;
}

nth-of-type与nth-child的效果是惊人的相似,nth-of-type(n)用于匹配同类型中的第n个同级兄弟元素。

四、X:nth-last-of-type(n)

ul:nth-last-of-type(3) {
border: 1px solid black;
}

:nth-last-child效果相似。

五、X:first-child

ul li:first-child {
border-top: none;
}

匹配子集的第一个元素。IE7就可以支持了,这个伪类还是非常有用的。

六、X:last-child

ul > li:last-child {
color: green;
}

与:first-child效果相反
留意IE8支持:first-child,但不支持:last-child。

七、X:only-child

div p:only-child {
color: red;
}

这个伪类一般用的比较少,比如上述代码匹配的是div下的有且仅有一个的p,也就是说,如果div内有多个p,将不匹配。

八、X:only-of-type

li:only-of-type {
font-weight: bold;
}

与:only-child类似。

九、X:first-of-type

ul:first-of-type{
font-weight: bold;
}

等价于:nth-of-type(1),匹配集合元素中的第一个元素。

“CSS3结构性伪类选择器”的一个回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注