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

nth-child(1)等于first-child
nth-of-type(1)等于first-of-type
如图所示:

图1-1
图1-2

需要注意的是,最好指定父级元素,如.ct>p,要不然,不同级的子级元素都会被选中。如图2所示:

图2

两者还有一处不同是,如果选择器这样写

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

那么这个元素要满足两个条件才会被选中,1是他是.ct的子标签的第二个;2是他还要是<p>标签。两个条件的关系是且,缺一不可。
如图3所示:第一个元素是<div>,不符合要求,所以没有被选中。

图3

如图4,改选第二个子元素,就符合选择器的要求了。

图4

nth-of-type(),就没这个要求了。
拿上面的例子来说,如果第一个元素不是<h3>的话,他会在同父级元素下(选择器上设置了父级)继续找<h3>标签,直到找到为止。如果没有设置父级,那么他会在每个子级中寻找,如图2所示。
update,发现一个问题,就是nth-of-type()前如果是类名的话,他也要符合两个条件,一是类名相同,二是在其相同标签中位于第X位,才能被选择器选中。
如下图所示:

图5
图6

谢谢观看,如有不足之处,还请指出。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.class 和 id 的使用场景? 类选择器允许以一种独立于文档元素的方式来指定样式。该选择器可以单独使用,也...
    草鞋弟阅读 2,465评论 0 1
  • 1、class和id的使用场景分别是什么? 首先,一个HTML文件中class名字可以有多个相同的,但是id的名字...
    李博洋li阅读 929评论 0 1
  • 刚开始学习选择器,一开始对伪类选择器确实有点懵。昨天晚上自己动手写了写,终于是慢慢搞懂了。下面对一些容易误解的一些...
    婷楼沐熙阅读 2,512评论 4 7
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,915评论 18 139
  • 基本选择器 *{} 通配符选择器,适用任何元素h1 标签选择器,选择h1标签内元素....
    字母31阅读 641评论 0 0