【发布时间】:2019-10-31 07:25:58
【问题描述】:
我想使用 CSS 制作一个径向渐变圆的动画以扩展页面的全长和全宽(全白),然后反转此动画(返回原始状态)。这应该看起来像从中心逐渐“爆炸”的白色,一旦达到全宽/全高,就会逐渐变成全白,但是我的白色背景过早开始过渡。我如何做到这一点?
scss
.container {
display: flex;
justify-content: center;
flex-direction: column;
text-align: center;
background: black;
height: 100vh;
}
.flash-container {
animation: grow 5s 2s linear forwards;
width: 20px;
height: 20px;
z-index: 4;
#flash {
background: radial-gradient(circle, white, transparent 10%);
width: 100%;
height: 100%;
position: absolute;
border-radius: 100%;
}
}
@keyframes grow {
to {
transform: scale(1000);
background: white;
}
}
html
<div class="container">
<div class="flash-container">
<div class="flash"></div>
</div>
</div>
Jsfiddle:https://jsfiddle.net/zv3bmw8j/2/
【问题讨论】:
-
您是否尝试过简单地为渐变而不是框设置动画?您当前正在尝试调整元素的大小,这在响应式环境中可能会受到严重限制。
-
这是一个 codepen 用户完全按照我的建议进行操作的示例。接受他正在为一个盒子阴影制作动画,这会更好,更容易制作动画。 codepen.io/mpsinghk/pen/JBVQbp
-
也许你想要jsfiddle.net/Lpjb10rn?
标签: css css-animations keyframe