【发布时间】:2019-08-13 15:57:34
【问题描述】:
我有一个fiddle (Fiddle A),其中 2 张图像(2 个图块)发生交叉淡入淡出的图像库。这是我用过的html/css的sn-ps。
<div class="featured-block" style="display:flex; justify-content: center;">
<a href="https://www.google.com/" class="featured-block__item cf">
<div class="featured-block__item-inner">
<figure class="featured-block__image img-fit" itemprop="image" itemscope="" itemtype="http://schema.org/ImageObject">
<img class="default-opacity" src="https://i.imgur.com/EUqZ1Er.png" data-fallback-img="https://i.imgur.com/EUqZ1Er.png" alt="Outburst">
</figure>
</div>
</a>
</div>
这是我在上面的 html 中使用了 2 张图像(2 个图块)的 @keyframes:
@keyframes cf4FadeInOut {
0% {
opacity: 0;
}
20% {
opacity: 1;
z-index: 999;
}
33% {
opacity: 1;
}
53% {
opacity: 0;
z-index: 1;
}
100% {
opacity: 0;
}
}
Fiddle A 中的上述 css 动画在有 2 个图块(2 个图像)。
问题陈述:
上面的小提琴 (Fiddle A) 对于 2 张图像来说工作得非常好。我希望在有 3 和 4 个图像时发生相同的 css 动画/交叉淡入淡出图像库。
这是 4 张图片(4 个图块)https://jsfiddle.net/zwjt8qko/1/embedded/result(小提琴 B)的小提琴
这是 3 张图片(3 个图块)https://jsfiddle.net/f6gr7kL1/embedded/result(小提琴 C)的小提琴
我想知道我应该在上面的 Fiddle B(4 张图片)和 Fiddle C(3 张图片)中的 关键帧中进行哪些更改,以便相同的 css-animation/cross-淡出 发生,这正在 Fiddle A 中发生。
我也对 JavaScript 解决方案持开放态度。
【问题讨论】:
-
您愿意接受 JavaScript 解决方案吗?最简单的方法是使用 JavaScript 来切换某个类,该类会使图像淡入并让所有其他类在失去该类时已经不可见或淡出。纯 CSS 解决方案是可能的,但会更复杂:您可能需要多个不同的
@keyframes动画全部同步。 -
@cjl750 是的,我对 JS 解决方案持开放态度,但我希望它像 Fiddle A(有 2 个图像) 一样工作。我希望 3 张图片(小提琴 C) 和 4 张图片(小提琴 B) 也发生同样的事情。
-
@cjl750 你在吗?
标签: javascript css css-animations keyframe cross-fade