📚前端面试题速记
Q14

nth-child 和 nth-of-type 的区别?

速记答案(30 秒)

:nth-child(n) 按所有子节点的顺序选,第 n 个子元素不管类型。:nth-of-type(n) 按同类型标签的顺序选,如第 n 个 li。中间混有其他标签时,nth-child 序号会被打乱。

📖 详细讲解

标准面试回答(推荐记住)

nth-child 和 nth-of-type 都是结构伪类,但选择逻辑不同。nth-child(n) 是按所有子节点的顺序来选,选中第 n 个子元素,不管它是什么类型。nth-of-type(n) 是按同类型标签的顺序来选,只在同类型元素中计数。容易出错的情况是:如果父元素下混有不同类型的标签,nth-child 的序号会被打乱,而 nth-of-type 只看同类型元素的顺序。

面试要点

  • nth-child 看所有子元素顺序
  • nth-of-type 只看同类型顺序
  • 混合元素时注意区别

💻 代码示例

nth-child vs nth-of-type
🎨 效果预览