动画 css 渐变数组
animate css gradient array
我有一个父级 div 屏幕的宽度和设置的高度。我想为其中的等长小盒子制作动画。我想 'slide' 小盒子的颜色,父级 div 有一个渐变。这是我实现它的一种方式,每个盒子都是一个 div,宽度可变:
移动显示有问题,所以我需要一个新的解决方案。
我知道用背景位置设置动画渐变是可能的,但是一次设置渐变 部分 的动画呢?
最终版本将在其中包含大约 100 个较小的盒子 div.I 我正在寻求建议,所以如果在 canvas 中这样做更有意义,请告诉我。
您可以将每个框作为一个单独的渐变,然后为该渐变的 background-size
设置动画。但是,我不建议这样做。动画 100 个渐变必然会对性能造成相当大的影响。正如为 100 个元素的 width
设置动画一样(在这种情况下,为每个 div
设置动画 scale()
变换会更好)。
如果 canvas
是一个选项,那么是的,使用 canvas
,在这种情况下,无论是从可维护性还是从性能的角度来看,它都是一个更好的选择。
如果框的长度相等,您可以只对主要背景进行动画处理,使用步骤:(将鼠标悬停在 div)
.test {
width: 600px;
height: 50px;
background-image: linear-gradient(90deg, yellow 50%, green 50%);
background-size: 200% 100%;
background-position: 0% 0;
transition: background-position 40s steps(100);
}
.test:hover {
background-position: -100% 0;
}
<div class="test"></div>
我有一个父级 div 屏幕的宽度和设置的高度。我想为其中的等长小盒子制作动画。我想 'slide' 小盒子的颜色,父级 div 有一个渐变。这是我实现它的一种方式,每个盒子都是一个 div,宽度可变:
移动显示有问题,所以我需要一个新的解决方案。 我知道用背景位置设置动画渐变是可能的,但是一次设置渐变 部分 的动画呢?
最终版本将在其中包含大约 100 个较小的盒子 div.I 我正在寻求建议,所以如果在 canvas 中这样做更有意义,请告诉我。
您可以将每个框作为一个单独的渐变,然后为该渐变的 background-size
设置动画。但是,我不建议这样做。动画 100 个渐变必然会对性能造成相当大的影响。正如为 100 个元素的 width
设置动画一样(在这种情况下,为每个 div
设置动画 scale()
变换会更好)。
如果 canvas
是一个选项,那么是的,使用 canvas
,在这种情况下,无论是从可维护性还是从性能的角度来看,它都是一个更好的选择。
如果框的长度相等,您可以只对主要背景进行动画处理,使用步骤:(将鼠标悬停在 div)
.test {
width: 600px;
height: 50px;
background-image: linear-gradient(90deg, yellow 50%, green 50%);
background-size: 200% 100%;
background-position: 0% 0;
transition: background-position 40s steps(100);
}
.test:hover {
background-position: -100% 0;
}
<div class="test"></div>