css - CSS Recurring nth-child Pattern
问题描述
我试图弄清楚与模式有关的一个有趣的 CSS 问题。
我希望发生以下情况:
- LI 1-3 = 背景绿色
- LI 4-6 = 背景红色
- LI 7-9 = 背景蓝色
然后重复,所以:
- LI 10-12 = 背景绿色
- LI 13-15 = 背景红色
- LI 16-18 = 背景蓝色
这应该以相同的 9 块模式重复无限次。
解决方案
因此,您可能已经尝试过:nth-child(3n)
,但发现它不是您想要的。
这是您所追求的:
li{
height: 30px;
border: 2px solid #000;
&:nth-child(9n + 1),
&:nth-child(9n + 2),
&:nth-child(9n + 3){
background: green;
}
&:nth-child(9n + 4),
&:nth-child(9n + 5),
&:nth-child(9n + 6){
background: red;
}
&:nth-child(9n + 7),
&:nth-child(9n + 8),
&:nth-child(9n + 9){
background: blue;
}
}
看起来您以 3 个一组重复,但实际上您以 9 个一组重复。那是因为您有 3 个 3 组,即 3x3=9
nth:child(9n)
将针对每 9 个元素。现在它只是增加 this 以处理第一个 3、第二个 3 和第三个 3 的情况。
推荐阅读
- vba - 使用 VBA 抓取历史数据表
- javascript - HTML onUnclick 处理程序?
- vagrant - MacOs Big Sur 升级时遇到 Vagrant Up 错误
- javascript - 如果用户单击 d3.js 中的圆形,如何防止拖动?
- python - 与红眼检测混淆
- tfs - TFS 可以验证文件内容并拒绝/发出警告吗?
- java - 按下 Enter 键时调用一系列动作
- asp.net-core - BlazorWebAssembly 5.0 不从 Razor 类库加载静态资产
- wso2 - 如何在 WSO2 Stream Integrator 7.1.0 中配置数据源以自动重新连接 mysql
- c# - C# 使用带有外部服务的 itext 签署 pdf