详解css3中的:nth-of-type(n)

该选择器,虽然之前用的也不少,但感觉理解的不是特别好,使用的时候效率太低,所以今天就总结一下,嗯

:nth-of-type() CSS 伪类   匹配同类型中的第n个同级兄弟元素。

先来看个简单的例子理解一下上面的意思:

HTML代码如下

<div id="wrap">
    <p>one</p>
    <div>我是div</div>
    <p>two</p>
    <p>three</p>
    <p>four</p>
    <p>five</p>
    <p>six</p>
</div>
css代码如下:
    <style>
        #wrap p:nth-of-type(3) {
            background: red;
        }

        #wrap p:nth-child(3) {
            background: yellow;
        }
    </style>

猜猜结果,变红的是哪个?

首先肯定是p标签里的背景变红,通俗一点理解p:nth-of-type(3)代表的就是,所有兄弟节点中找标签为p的,然后找到的第三个p标签背景为红色

所以,three背景为红咯

注意:不要和:nth-child(n)搞混了,上面的背景变黄的是two,因为,该选择器是找父元素的第三个子元素,如果该子元素为p,则其变为黄色,如果,第三个子元素不是p元素,则没有子元素的背景变为黄色

ok,回到我们今天讨论的重点:nth-of-type(n)

:nth-of-type(n):n可以是一个数字,一个关键字,或者一个公式。

数字,我就不多说了,注意是从1开始的哦(不是从0)

关键字:可选的有:odd(奇数)、even(偶数)

 #wrap p:nth-of-type(even) {
            background: red;
        }

此时,背景变为红色的就是two、four、six啦

公式:使用公式(an+ b).描述:a代表一个循环的大小,N是一个计数器(从0开始),以及b是偏移量。

怎么理解呐?

比如像上面的想要让偶数p变为红色背景,那么用公式就是:

#wrap p:nth-of-type(2n) {
            background: red;
        }

效果和上面的一样。

个人还是比较喜欢用公式的,功能真的很强大,比如我们想要让奇数的变红公式就是2n+1喽,想要让3的倍数的变红,公式就是3n啦,依次类推。

哦,说说一下,兼容性

选择器        Chrome            IE        Firefox         Safair          Opera
:nth-of-type()4.09.03.53.29.6

嗯、其实整理完,也很简单啦,希望看完的你也有这样的感觉。

  • 33
    点赞
  • 68
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值