html - CSS 动画在径向渐变背景下不平滑

标签 html css css-animations radial-gradients

我正在尝试创建一个边缘光滑的脉动圆形背景。对于边缘光滑的圆,我使用以下 CSS 代码:

background: radial-gradient(black, black, transparent, transparent);

使用下面的代码可以很好地设置背景颜色的动画。然而,一旦我用这个径向渐变背景替换背景颜色,动画就会跳跃并且不再平滑。该行为在多个浏览器上是一致的。这是我遇到的问题的一个最小的工作示例:

.global {
  background: lightskyblue;
}

.silver {
  // background: radial-gradient(black, black, transparent, transparent);
  animation: pulse 3s infinite;
}

@keyframes pulse {
  0%,
  100% {
    // background-color: black;
    background: radial-gradient(black, transparent, transparent, transparent);
  }
  50% {
    // background-color: white;
    background: radial-gradient(black, black, transparent, transparent);
  }
}
<body class="global">
  <img src="pngwave.png" alt="test" class="silver" />
</body>

我找到了这个Stackoverflow问题类似,但没有帮助我解决我的问题。

最佳答案

您需要为background-size设置动画

.box {
  width: 200px;
  height: 200px;
  background: radial-gradient(farthest-side,black, transparent) center no-repeat;
  animation:pulse 2s linear infinite alternate;
}
@keyframes pulse{
  from {
    background-size:50% 50%;
  }
  to {
    background-size:100% 100%;
  }
}
<div class="box"></div>

关于html - CSS 动画在径向渐变背景下不平滑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61305422/

相关文章:

css - float 图像从其 div 容器渗入另一个 div

html - 如何使页脚贴在带有底边距的 wrapper 底部?

html - 为什么我的 animate.css 动画在 Chrome 中有效,但在 Firefox 中无效?

css - 显示文本的剪辑路径替代方案

java - JSP 中的页面编码

javascript - 我如何编写 JQuery 函数来从内联样式 div 中获取背景图像并将其放入图像标签中?

javascript - 如何在一页上运行 javascript/Canvas 脚本两次?

html - 在 CSS 中的特定位置对齐当前行的输入

animation - CSS3 动画 |简单问题

javascript - 如何将我的注册详细信息存储在本地存储中?