结构性伪选择器

结构性伪类选择器

在这里插入图片描述
主要介绍:nth-child(n):nth-of-type(n)
选择ul标签下的第一个元素:first-child

<style>
/* 选择ul中的第一个li */
ul li:first-child {
            background-color: pink;
        }
</style>
<body>
	<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>
    </ul>
</body>

在这里插入图片描述
选择ul下的最后一个元素:last-child

<style>
/* 选择ul中的最后一个li */
ul li:last-child {
            background-color: pink;
        }
</style>
<body>
	<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>
    </ul>
</body>

在这里插入图片描述
选择ul下的第n个元素:nth-child(n) n可以是数字,可以是关键字,可以是公式
n是数字,可以访问标签下的第n个元素

<style>
/* 选择ul中的第4个li */
ul li:nth-child(4) {
            background-color: skyblue;
        }
</style>
<body>
	<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>
    </ul>
</body>

在这里插入图片描述
n是关键字:nth-child(even/odd)
使用关键字实现跨行变色效果

<style>
        /* n是关键字,可以实现换行变色
        /* 实现所有偶数行变为粉色 even */
        ul li:nth-child(even) {
            background-color: pink;
        }
        /* 实现所有奇数行变为蓝色 odd */
        ul li:nth-child(odd) {
            background-color: skyblue;
        }
    </style>
    <body>
    <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>
    </ul>
</body>

在这里插入图片描述
n是公式
在这里插入图片描述

<style>
        /* nth-child(n),n是公式,括号内只能是n,不能是别的字母
        n从0开始自增,值为0是跳过,自增到最大值后,后面的元素也自动跳过 */
        /* 选择ol下的所有元素 */
        ol li:nth-child(n) {
            background-color: springgreen;
            margin-top: 5px;
        }
    </style>
    <body>
    <ol>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
    </ol>

在这里插入图片描述

:nth-child(n) 和:nth-of-type(n)的区别

:nth-child(n)会把选择器下的所有元素先排序,找到第n个元素,再去和选择器是否匹配,若匹配则选中,若不匹配,则跳过。
:nth-of-type(n)会先找到对应选择器的元素,再对对应的元素进行排序,选中调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s_meng_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值