如何自动启动关键帧动画
How to start an keyframe animation automatically
我今天正在 html css 进行第一次体验。我在这里创建了一个悬停时触发的动画。现在我希望动画在没有悬停的情况下大约 5 秒后自行触发。我必须如何在这里进行才能实现此目标?
感谢您的帮助!
<html lang="en">
<head>
<title>Shake</title>
<style>
.shake:hover {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
transform: translate3d(0, 0, 0);
backface-visibility: hidden;
perspective: 1000px;
}
@keyframes shake {
10%, 90% {
transform: translate3d(-2px, 0, 0);
}
20%, 80% {
transform: translate3d(4px, 0, 0);
}
30%, 50%, 70% {
transform: translate3d(-8px, 0, 0);
}
40%, 60% {
transform: translate3d(7px, 0, 0);
}
}
</style>
</head>
<body>
<div class="shake">Shake</div>
</body>
</html>
可以使用animation-delay
属性。这将在页面元素显示5秒后执行动画。
.shake {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
animation-delay: 5s;
}
您可以从 css 中删除 :hover
伪 class 并添加 animation-delay
属性 5 秒(或任何您想要的延迟)。
.shake {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
transform: translate3d(0, 0, 0);
backface-visibility: hidden;
perspective: 1000px;
animation-delay: 5s
}
@keyframes shake {
10%, 90% {
transform: translate3d(-2px, 0, 0);
}
20%, 80% {
transform: translate3d(4px, 0, 0);
}
30%, 50%, 70% {
transform: translate3d(-8px, 0, 0);
}
40%, 60% {
transform: translate3d(7px, 0, 0);
}
}
<html lang="en">
<head>
<title>Shake</title>
</head>
<body>
<div class="shake">Shake</div>
</body>
</html>
我今天正在 html css 进行第一次体验。我在这里创建了一个悬停时触发的动画。现在我希望动画在没有悬停的情况下大约 5 秒后自行触发。我必须如何在这里进行才能实现此目标?
感谢您的帮助!
<html lang="en">
<head>
<title>Shake</title>
<style>
.shake:hover {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
transform: translate3d(0, 0, 0);
backface-visibility: hidden;
perspective: 1000px;
}
@keyframes shake {
10%, 90% {
transform: translate3d(-2px, 0, 0);
}
20%, 80% {
transform: translate3d(4px, 0, 0);
}
30%, 50%, 70% {
transform: translate3d(-8px, 0, 0);
}
40%, 60% {
transform: translate3d(7px, 0, 0);
}
}
</style>
</head>
<body>
<div class="shake">Shake</div>
</body>
</html>
可以使用animation-delay
属性。这将在页面元素显示5秒后执行动画。
.shake {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
animation-delay: 5s;
}
您可以从 css 中删除 :hover
伪 class 并添加 animation-delay
属性 5 秒(或任何您想要的延迟)。
.shake {
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
transform: translate3d(0, 0, 0);
backface-visibility: hidden;
perspective: 1000px;
animation-delay: 5s
}
@keyframes shake {
10%, 90% {
transform: translate3d(-2px, 0, 0);
}
20%, 80% {
transform: translate3d(4px, 0, 0);
}
30%, 50%, 70% {
transform: translate3d(-8px, 0, 0);
}
40%, 60% {
transform: translate3d(7px, 0, 0);
}
}
<html lang="en">
<head>
<title>Shake</title>
</head>
<body>
<div class="shake">Shake</div>
</body>
</html>