前端/移动开发面试题更新 2026-08-05

请描述在CSS中,如何利用选择器来匹配同组兄弟元素中序号为偶数的那些元素?

前端/移动开发技术原理CSS

考察说明

考查对CSS结构性伪类选择器,特别是:nth-child()和:nth-of-type()的理解与应用。

回答思路

  1. 【回答框架 1】使用:nth-child(2n)可以选择同组兄弟元素中序号为偶数的元素,其中n从0开始计数,2n表示序号为0、2、4等偶数序号。注意,序号计数从1开始,所以2n对应的是第2、4、6个元素,即偶数序号。另一种写法是:nth-child(even),其效果相同。
  2. 【回答框架 2】区别:nth-of-type(2n),它是基于元素类型(如div、p等)进行计数,只统计同类型兄弟元素,忽略其他类型的兄弟。例如,如果有div和span混排,:nth-child(2n)会按所有兄弟顺序计数,而:nth-of-type(2n)只对同类型元素计数。
  3. 【回答框架 3】注意计数起点:CSS的序数从1开始,所以:first-child对应第1个,:nth-child(2)对应第2个,偶数序号是指第2、4、6等。使用公式时,2n中的n从0开始,但当n=0时,2n=0,没有对应的元素,因此实际命中的是第2、4、6...个。
  4. 【回答框架 4】在应用时,需要确保父元素是确定的,且兄弟元素中可能有其他元素干扰。如果只想选择特定类型的偶数序号,使用:nth-of-type(2n)更精确;如果无视类型纯按顺序选择,则用:nth-child(2n)。
  5. 【关键点 1】使用:nth-child(2n)或:nth-child(even)选择偶数序号的兄弟元素。
  6. 【关键点 2】:nth-child是从1开始计数的,2n对应第2、4、6个。
  7. 【关键点 3】:nth-of-type按类型计数,适合只选同类型元素。
  8. 【易错点 1】误以为:nth-child是从0开始计数,实际从1开始。
  9. 【易错点 2】混淆:nth-child与:nth-of-type,后者只对同类型兄弟计数。