详细讲解伪类选择器nth-of-type

:nth-of-type属于css3的新增选择器,用起来很方便,所以我们有必要在这里详细说一下。

1.nth-child和nth-of-type的区别

<div class="box">
    <h1>我是第一个h1</h1>
    <p>我是第一个p</p>
    <p>我是第二个p</p>
    <h1>我是第二个h1</h1>
    <p>我是第三个p</p>
    <p>我是第四个p</p>
</div>

我们以这个例子进行说明

当css代码写成这样时

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

结果是
在这里插入图片描述
如果当css代码换成这样结果又会是什么样的呢?

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

结果是并不会有元素变红

这是因为:nth-child(2)会首先找父元素的第二个子元素,然后再进行匹配,看第二个子元素是否为指定的元素,如果是,才会进行渲染。

接下来再看一下nth-of-type的用法

h1:nth-of-type(2){
            color: red;
        }

这时结果为:
在这里插入图片描述
如果代码为

p:nth-of-type(2){
            color: red;
        }

则结果为
在这里插入图片描述
由此可见,nth-of-type(n)的用法并不会受到其他类型的影响,它会去找指定类型的同类元素中指定序号的元素。

2. 参数研究

实际上,不管是nth-child还是nth-of-type中能够传的参数都不只是一个数字而已。
(1)传数字(注意是从1开始哦!!!
这种用法比较简单,不再赘述
(2)传关键字
可以传的关键字包括odd(奇数),even(偶数)。
(3)传表达式(an+1),这时候就是一个循环(这时候n从0开始循环,到3停止)
例如,想让偶数个元素变为红色
可以写成

p:nth-of-type(2n)

奇数个元素变为红色,可以写成

p:nth-of-type(2n+1)
  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值