child系列

p:first-child———————————选择属于父元素的第一个子元素的每个

元素。
p:last-child———————————选择属于其父元素最后一个子元素每个

元素
p:nth-child(even)—————————-选择属于其父元素的第二个子元素的每个

元素
p:nth-last-child(odd)———————同上,从最后一个子元素开始计数
括号里面放even—————————-奇数的都会被选到
括号里面放odd—————————-偶数的都会被选到

nth-of-type系列

p:first-of-type——————————-选择属于其父元素的首个

元素的每个

元素。
p:last-of-type——————————-选择属于其父元素的最后

元素的每个

元素。
p:nth-of-type(2)—————————选择属于其父元素第二个

元素的每个

元素。
p:nth-last-of-type(2)——————-同上,但是从最后一个子元素开始计数

使用规则与nth-child一样,唯一的区别是

  1. p:nth-child(2){
  2. background-color: peru;
  3. font-size: 30px;
  4. }
  5. <p>1</p>
  6. <i>ee</i>
  7. <p>2</p>
  8. <i>ee</i>
  9. <p>3</p>
  10. <i>ee</i>
  11. 如果第二个标签选中的位置不是p标签 是不会有效果的,这个情况需要选择第三个才可以p:nth-child(3)
  12. 小结:因为nth-child的选择器是排位置,然后再找标签的,如果标签和位置对不上是无效
  13. nth-of-type与nth-child不同之处
  14. p:nth-of-type(2){
  15. background-color: peru;
  16. font-size: 30px;
  17. }
  18. <p>1</p>
  19. <i>ee</i>
  20. <p>2</p>
  21. <i>ee</i>
  22. <p>3</p>
  23. <i>ee</i>
  24. 如果第二个标签选中的位置不是p标签,就会直接跳过选下一个p标签,也就是第二个位置直接被忽略了
  25. 小结:因为nth-of-type的选择器是根据标签,来排位置的
  26. 如果对上不对的位置会直接忽略直接选择指定的标签位置