黑马程序员技术交流社区

标题: CSS3结构性伪类选择器 :nth-child(n) [打印本页]

作者: gz_xudada    时间: 2018-9-21 15:23
标题: CSS3结构性伪类选择器 :nth-child(n)
本帖最后由 gz_xudada 于 2018-9-21 15:29 编辑

:nth-child(n)    选中某个元素,该元素必须是某个父元素下的第n个子元素;
p:nth-child(n)  选中p元素,且该p元素必须是某个父元素下的第n个子元素
注意:n是从1开始的
这样,想选择第几个元素,就可以不为该元素添加class或者id属性,就可以选择这个元素了
1. 入门案例
如下代码,
      p:nth-child(1),只会选中第二个div中第一个子元素p;
      不会选中第一个div中的第一个p,因为第一个div中第一p元素不是第一个子元素
[HTML] 纯文本查看 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        p:nth-child(1){
            color:red
        }
    </style>
</head>
<body>
    <div style="border:1px solid blue;">
        <span>div span中第一个段落。</span>
        <p>div 中第一个段落。</p>
        <p>div 中的最后一个段落。</p>
    </div>

    <br>

    <div style="border:1px solid blue;">
        <p>另一个 div 中第一个段落。</p>
        <p>另一个 div 中的最后一个段落。</p>
    </div>
</body>
</html>
效果:

2. 正方向范围
:nth-child(n+6)  选中从第6个开始的子元素

3. 负方向范围
:nth-child(-n+9)选中从第1个到第9个子元素。使用 :nth-child(-n+9) ,就相当让你选中第9个和其之前的所有子元素

4. 前后限制范围
:nth-child(n+4):nth-child(-n+8)选中第4-8个子元素。使用 nth-child(n+4):nth-child(-n+8) 我们可以选中某一范围内子元素,上面的例子里是从第4个到第8个子元素
5. 奇数、偶数位
:nth-child(odd)选择奇数位元素
:nth-child(even)选择偶数位元素

6. 隔选择子元素
:nth-child(3n+1)选择1,4,7,10

7. 范围高级用法
nth-child(n+2):nth-child(odd):nth-child(-n+9)
使用 nth-child(n+2):nth-child(odd):nth-child(-n+9) 我们将会选中的子元素是从第2位到第9位,并且只包含奇数位。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2