gpt4 book ai didi

html - 如何平滑 CSS 渐变过渡?

转载 作者:行者123 更新时间:2023-11-28 02:23:13 25 4
gpt4 key购买 nike

我正在使用名为 Intuiface 的程序创建一个交互式触摸屏显示器,并创建了一些背景图 block /正方形,我想通过在颜色之间缓慢过渡使它们看起来“生动”。

我在 CSS 中使用了线性渐变过渡来做到这一点,但问题是过渡看起来很不稳定。该程序正在运行 12 个可见的图 block (这是一个非常大的触摸屏)。

我曾尝试使用更少的颜色并在更强大的 GPU 上运行(我认为无论如何都是 CPU 运行)但这没有帮助。

body {
width: 100wh;
height: 90vh;
background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
background-size: 400% 400%;
animation: Gradient 15s ease infinite;
}

@keyframes Gradient {
0% {
background-position: 0% 50%
}
50% {
background-position: 100% 50%
}
100% {
background-position: 0% 50%
}
}

目前动画明显不稳定。我希望过渡更顺利。有谁知道我怎样才能做到这一点?

这是代码片段。

body {
width: 100wh;
height: 90vh;
background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
background-size: 400% 400%;
animation: Gradient 15s ease infinite;
}

@keyframes Gradient {
0% {
background-position: 0% 50%
}
50% {
background-position: 100% 50%
}
100% {
background-position: 0% 50%
}
}
<html>

<body>
</body>

</html>

最佳答案

动画化 background-* 属性可能会占用大量资源 - 您可以尝试动画化 transform 以获得相对更好的性能 - 请参阅下面使用 翻译动画:

body {
margin: 0;
}

div {
height: 100vh;
overflow: hidden;
}

div:after {
content: '';
display: block;
width: 400vw;
height: 400vh;
background: linear-gradient(-45deg, #EE7752, #E73C7E, #23A6D5, #23D5AB);
animation: gradient 15s ease infinite;
}

@keyframes gradient {
50% {
transform: translate(-300vw, -300vh);
}
}
<div></div>

关于html - 如何平滑 CSS 渐变过渡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56091944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com