淘先锋技术网

首页 1 2 3 4 5 6 7

在 CSS 样式表中,有不少盛行的伪类实际上是针对列表元素而设计的。其中,:nth-child() 和 :nth-of-type() 两种伪类允许你根据元素在列表中的位置来选择单数或双数,不管它们的内容是什么。

假设你有这样的列表:

<ul>
<li>Apple</li>
<li>Orange</li>
<li>Banana</li>
<li>Pineapple</li>
<li>Pear</li>
</ul>

如果你想要让单数项的颜色为绿色,双数项的颜色为灰色,你可以这样写:

li:nth-child(odd) {
color: green;
}
li:nth-child(even) {
color: gray;
}

这样,Apple、Banana 和 Pear 就会变成绿色,而 Orange 和 Pineapple 就会变成灰色。

你也可以使用 :nth-of-type() 伪类来精确地选择某种元素类型的单数或双数项。例如,如果你要选择 ul 元素中的单数 li 项,你可以这样写:

ul li:nth-of-type(odd) {
color: purple;
}

这样,Apple、Banana 和 Pear 就会变成紫色了。

虽然这些伪类在列表元素上用得比较广泛,但它们也可以用在其他元素上。要注意的是,如果你想选择从第 n 个元素开始向后数的元素,必须使用 "an+b" 的形式来设置样式。例如,如果你想选择第 4 个元素及其之后的所有元素,你可以这样写:

li:nth-child(n+4) {
background-color: black;
color: white;
}

这样,Pineapple 和 Pear 就会变成白底黑字了。