CSS 使用nth-child选中样式第4个及以后的项目

在本文中,我们将介绍如何使用CSS的nth-child选择器来选中并样式化列表中的第4个及以后的项目。

阅读更多:CSS 教程

nth-child选择器简介

CSS的nth-child选择器允许我们选择一个父元素中特定位置的子元素。它使用一个公式来计算选择哪些子元素应用样式。该公式接受一个表示位置或公差的参数,使我们能够非常灵活地选择特定的子元素。

nth-child选择器的语法如下:

:nth-child(an + b)

其中ab为参数,n为一个计数器。an表示公差,b表示起始位置。

示例

为了更好地理解nth-child选择器的工作原理,我们来看一个简单的例子。假设我们有一个包含10个项目的无序列表,并且想要对第4个及以后的项目应用特定的样式。

HTML代码如下:

<ul>
  <li>项目1</li>
  <li>项目2</li>
  <li>项目3</li>
  <li>项目4</li>
  <li>项目5</li>
  <li>项目6</li>
  <li>项目7</li>
  <li>项目8</li>
  <li>项目9</li>
  <li>项目10</li>
</ul>

要选中第4个及以后的项目,可以使用以下CSS代码:

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

通过上述代码,我们使用了nth-child选择器,公式中的an + b可以解读为n + 4,意味着从第4个项目开始选中,以及选中后续的所有项目。

此时,第4个及以后的项目将应用背景颜色为黄色的样式。

nth-child选择器的更多应用

nth-child选择器不仅可以用于简单的列表应用,还可以在复杂的布局中发挥作用。下面我们来看两个更加复杂的示例。

示例1 – 交替样式

假设我们有一个表格,我们希望奇数行和偶数行具有不同的背景颜色以实现交替样式。

HTML代码如下:

<table>
  <tr>
    <th>姓名</th>
    <th>年龄</th>
    <th>性别</th>
  </tr>
  <tr>
    <td>Alice</td>
    <td>25</td>
    <td>女</td>
  </tr>
  <tr>
    <td>Bob</td>
    <td>30</td>
    <td>男</td>
  </tr>
  <tr>
    <td>Charlie</td>
    <td>35</td>
    <td>男</td>
  </tr>
  <tr>
    <td>Diana</td>
    <td>40</td>
    <td>女</td>
  </tr>
</table>

为了实现交替样式,我们可以使用nth-child选择器和伪类选择器来选中奇数行和偶数行,并分别应用不同的背景颜色。

CSS代码如下:

tr:nth-child(odd) {
  background-color: lightgray;
}

tr:nth-child(even) {
  background-color: skyblue;
}

通过上述代码,我们使用nth-child选择器和伪类选择器oddeven来分别选中奇数行和偶数行,并分别应用不同的背景颜色。

示例2 – 列表分组

假设我们有一个带有多个分组的列表,我们希望每个分组的第一个项目具有特定的样式。

HTML代码如下:

<ul>
  <li>分组1 - 项目1</li>
  <li>分组1 - 项目2</li>
  <li>分组1 - 项目3</li>
  <li>分组2 - 项目1</li>
  <li>分组2 - 项目2</li>
  <li>分组2 - 项目3</li>
  <li>分组3 - 项目1</li>
  <li>分组3 - 项目2</li>
  <li>分组3 - 项目3</li>
</ul>

为了实现分组的第一个项目具有特定的样式,我们可以使用nth-child选择器和相邻兄弟选择器+来选中每个分组的第一个项目,并应用特定的样式。

CSS代码如下:

li:nth-child(3n+1) {
  font-weight: bold;
  color: red;
}

通过上述代码,我们使用nth-child选择器和公式3n+1来选中每个分组的第一个项目,并应用特定的样式,例如设置字体加粗和颜色为红色。

总结

在本文中,我们介绍了如何使用CSS的nth-child选择器来选中并样式化列表中的第4个及以后的项目。我们还通过示例演示了nth-child选择器的应用,包括交替样式和列表分组等。希望这些内容对你理解nth-child选择器的使用有所帮助,并能在实际项目中灵活应用。

最后修改:2024 年 05 月 30 日
如果觉得我的文章对你有用,请随意赞赏