CSS3结构伪类选择器

来源:

https://www.bilibili.com/video/BV14J4114768?p=284

结构伪类选择器主要根据文档结构来选择元素,常用于根据父级选择器的子元素

选择符 简介
E:first-child 匹配父元素中的第一个子元素E
E:last-child 匹配父元素中最后一个E元素
E:nth-child(n) 匹配父元素中的第n个子元素E
E:nth-last-child(n) 匹配父元素的倒数第n个子元素E
E:first-of-type 指定类型E的第一个
E:last-of-type 指定类型E的最后一个
E:nth-of-type(n) 指定类型E的第n个
E:nth-last-of-type(n) 指定类型E的倒数第n个

区别:

  1. nth-child对父元素里面的所有孩子排序选择(序号是固定的)先找到第n个孩子,然后看看是否和匹配
  2. nth-of-type对父元素里面指定子元素排序选择,先去匹配E,然后再根据E找到第n个孩子
  • n可以是数字,关键字和公式
  • n如果是数字,就是选择第n个子元素,里面数字从1开始...
  • n可以是关键字:even偶数,odd奇数
  • n可以是公式:常见的公式如下(如果n是公式,则从0开始计算,但是第0个元素或者超出了元素的个数会被忽略)
  • 要使该属性生效,E元素必须是某个元素的子元素,E的父元素最高是body,即E可以是body的子元素
  • E:nth-child(n)会选择父元素的第n个子元素E,如果第n个子元素不是E,则是无效选择符,但n会递增。
公式 取值
2n 偶数
2n+1 奇数
5n 5 10 15 20 25...
n+5 从第5个开始(包含第五个)到最后
-n+5 前5个(包含第5个)...

小结:

  • 结构伪类选择器一半用于选择父级里面的第几个孩子
  • nth-child对父元素里面所有孩子排序(序号是固定的)先找到第几个孩子,然后看看是否匹配。如section div:nth-child(1),执行的时候先看section下的第1个孩子,再看第一个孩子是否是div
  • nth-of-type对父元素里面指定子元素进行排序选择,先去匹配E,然后再根据E找到第n个孩子。如
    section div:nth-of-type(1){}执行的时候首先看section下的指定的元素div,之后回去看section第1个div孩子
  • 关于nth-child(n)我们要知道n是从0开始计算的,要记住常用公式
  • 如果是无序列表,我们肯定用nth-child更多
  • 类选择器、属性选择器、伪类选择器、权重为10
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。