Jquery 是否可以循环:n个子样式的模式?
我在css文件中创建了一个网格模式,它使用了23种独特的显示和发布样式,分别是Jquery 是否可以循环:n个子样式的模式?,jquery,css,loops,css-selectors,Jquery,Css,Loops,Css Selectors,我在css文件中创建了一个网格模式,它使用了23种独特的显示和发布样式,分别是:第n个子项(1),:第n个子项(2)等 其目的是让模式重复到第24个元素的第一个子样式,我已经看过了类似于:第n个子(2n+1):的示例,但是模式的重复性不够,所以我觉得从1到23的循环是最好的 e、 g 我的猜测是需要一点jQuery,但是到目前为止,我搜索/jsfiddles的尝试非常糟糕 希望这很容易理解。CSS解决方案: 对于每一个0你的问题实际上都不是很清楚,至少对我来说是这样 实际的 我认为这是解决问题的
:第n个子项(1)
,:第n个子项(2)
等
其目的是让模式重复到第24个元素的第一个子样式,我已经看过了类似于:第n个子(2n+1):
的示例,但是模式的重复性不够,所以我觉得从1到23的循环是最好的
e、 g
我的猜测是需要一点jQuery,但是到目前为止,我搜索/jsfiddles的尝试非常糟糕
希望这很容易理解。CSS解决方案:
对于每一个0你的问题实际上都不是很清楚,至少对我来说是这样 实际的 我认为这是解决问题的办法:
div:nth-child(24n-23) /* 1 */
{
background-color: red;
}
div:nth-child(24n-22) /* 2 */
{
background-color: green;
}
/* --- */
div:nth-child(24n-16) /* 8 */
{
background-color: cyan;
}
小提琴:
我们在这里要做的是,选择每一个第24个元素,然后在它前面取一些元素
以前的:
我想出了这个:,然后笑着说它和div
selector一样
如果你想给第一,第二,第三。。。24不同的是,您可以:
基本上,您将
n
添加到子编号中,如果我理解正确,它将在每个n
中重复:
div:nth-child(n+23){ ... }
div:nth-child(n+47){ ... }
div:nth-child(n+71){ ... }
...
但如果您只想在每23个div之后重复相同的样式:
div:nth-child(23n+1){ ... }
div:nth-child(23n+2){ ... }
div:nth-child(23n+3){ ... }
...
第六个元素不是同时具有第n个子元素(2)和第n个子元素(3)的设计吗?。。(等)哦,会的。在示例中,它实际上是这样的,但没有注意到。请看@OneTrickPony的解决方案。和新的一样,只是可读性更强。(第二部分)是的,刚刚检查过。用那个。即使你“循环”。。。你仍然需要在某种数组中精确地确定你想对每个:n个孩子(xn+y)做什么,否则你的需要是没有意义的,听起来像是,就像你开始定义你的24项数组一样。Oterwise:javascript for(i=0;i)你的第二部分解决方案最接近OP(我喜欢它)一个技巧小马-你用第二个解决方案赚了大钱。谢谢你的老帖子,但我想感谢@onetrickpony给我的新概念。我认为“CSS”是“静态的”而且只是用于样式,但根据你的小提琴,你可以动态地使用CSS-非常感谢!-我只需要弄清楚我将如何使用它。。。
div:nth-child(24n-23) /* 1 */
{
background-color: red;
}
div:nth-child(24n-22) /* 2 */
{
background-color: green;
}
/* --- */
div:nth-child(24n-16) /* 8 */
{
background-color: cyan;
}
div:nth-child(1n)
{
background-color: red;
}
div:nth-child(2n)
{
background-color: green;
}
/* --- */
div:nth-child(24n)
{
background-color: cyan;
}
div:nth-child(n+23){ ... }
div:nth-child(n+47){ ... }
div:nth-child(n+71){ ... }
...
div:nth-child(23n+1){ ... }
div:nth-child(23n+2){ ... }
div:nth-child(23n+3){ ... }
...