由于没有
:nth-of-class()选择器,因此无法在CSS中按类进行过滤。解决此问题的一种方法是将两种不同的
divs放入自己的组,然后根据这些组进行选择。例如:
<div > <div></div> <div></div> <div></div> <div></div></div><div > <div></div> <div></div> <div></div> <div></div></div>
使用此选择器:
div.red div:nth-child(2) { background: red;}关于您的问题的最后一点:
而且我不明白为什么nth-child()和nth-of-type()会有不同的响应,因为在文档中只有八个相同类型的标签。
对于您提供的代码, 应该没有 任何区别。我对其进行了测试,并且两个伪类均按预期工作。但是,通常:
:nth-child()在兄弟姐妹的整个级别上操作,而不考虑其他任何简单的选择器。然后,如果第n个孩子不在简单选择器匹配的对象中,则不匹配任何内容。
:nth-of-type()在给定类型的同级对象上进行操作,而无需考虑其他简单选择器。然后,如果该类型的第n个元素不在简单选择器匹配的元素之中,则不匹配任何内容。



