css中使用:nth-child()的时候不存在:nth-child(1),直接从nth-child(2)开始,是怎么回事?

有人遇到过相同的情况吗?
昨天遇到这样的情况,记得之前也好像遇到过类似的。

阅读 7.4k
5 个回答

找到答案了,原来:nth-child()是从父标签的子标签中计算的,不论你选择的是什么,都计算在内。
以后还是用:nth-of-type()好一些。

详情请转到:张鑫旭大神的博客:CSS3选择器:nth-child和:nth-of-type之间的差异http://www.zhangxinxu.com/wor...

我也遇到过这样的情况,其实很简单,打个比方 nth-child(1)没有找到,因为你要找的那个孩子是在父容器里的第二个,所以才要nth-child(2)才能找到第一个孩子。

新手上路,请多包涵

不是没找到,而是找到了其他的。child统计的是所有标签,包括文字节点!所以,看看父标签内有什么东西吧。
PS: 这种具体问题的提问,拜托以后发代码上来吧,这样别人才能找到问题所在呀。

p: nth-child(n) //p标签且为第n个子元素
p: nth-of-type(n) //第n个p标签

nth-child(n) 的限制条件为两个,是且的关系,只满足一个就找不到。我写的这篇文章中,有对这个问题详细的讲解和代码示例,网址为:
https://segmentfault.com/a/1190000005716073

E F:nth-child(n)表示选择父元素E的第n个子元素F
E:nth-of-type(n)表示选择父元素内具有指定类型的第n个E元素

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏