You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用nth-of-type选择第5-7个menu元素实现hover:after效果?

解决方案

要选中第5至7个<menu>元素的hover状态并设置::after伪元素,你需要使用nth-of-type(n+5)这个CSS选择器,完整代码如下:

menu:hover:nth-of-type(n+5)::after {
    background: green;
}

为什么你的写法不生效?

  • nth-of-type(5+-n)是错误的语法,CSS的nth-of-type只支持an+b格式的公式(a和b为整数,n从0开始递增)。n+5的含义是:当n取0、1、2时,计算结果为5、6、7,正好对应你需要的第5到7个<menu>元素。
  • nth-of-type(5,6,7)或nth-of-type(5-7)这类写法也不被CSS支持,如果你想选中多个特定序号的元素,需要用逗号分隔多个选择器(比如menu:hover:nth-of-type(5)::after, menu:hover:nth-of-type(6)::after, menu:hover:nth-of-type(7)::after),但显然n+5的写法更简洁高效。

补充验证

结合你提供的HTML结构,第4个<menu>是包含logo的元素,第5到7个正好是menu 5、menu 6、menu 7,使用n+5可以精准匹配这些元素的hover状态,为它们的::after伪元素设置样式。

内容的提问来源于stack exchange,提问作者Cooperative

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:13:22