【发布时间】:2018-01-12 11:19:02
【问题描述】:
是否有某种方法(不使用 javascript)使第 n 个孩子影响 CSS?
例如,当我加载了 10 张图片时,我会淡入不透明度,并为每张图片设置 N 秒的动画延迟。
我可以使用 nth-child(1){}、nth-child(2){} 等手动执行此操作,但这显然很麻烦,并且元素数量有限。
我也尝试过循环,虽然对于 (10n+1) 效果很好,但如果我尝试偏离 an+b 公式 (100n+10n),它就会中断。我也怀疑每 n 增加 1 秒和每 10n 增加 10 秒是否可行,因为其中一个会覆盖另一个。
这个问题类似于this one from 2011,它仍然是开放的,但已经过去了很多时间,也许这些天有更好的答案。
【问题讨论】:
-
如果值循环,那么您可以使用第 n 个子项在 CSS 中硬编码一个循环(1n+0...10n+0 等),然后它会重复。不确定这是否会满足您的问题,因此仅作为评论发布。 developer.mozilla.org/en-US/docs/Web/CSS/:nth-child
-
您想为每个孩子添加不同的延迟,是吗?
-
我很惊讶这不是重复的(尽管有时间)。没关系,我回答了。
-
@VadimOvchinnikov 是的。
-
@PixelSnader BoltClock 已经为您提供了答案(但我不同意 CSS 预处理器部分),您需要这里的 JavaScript。
标签: css animation css-selectors