gpt4 book ai didi

css3 使用两个动画 : secound animation not starting from first animation postion

转载 作者:行者123 更新时间:2023-11-27 22:53:20 26 4
gpt4 key购买 nike

我正在从 youtube 的播放列表中学习 css3 动画,我制作了一个来自顶部的盒子并制作了 swing我的问题是,当摆动不是从第一个动画离开的地方开始时,代码如下:

HTML:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="style.css">
<title>Document</title>
</head>
<body>
<div class="box">
<span>X</span>
</div>
</div>
</body>
</html>

CSS:

*{
margin:0;
padding:0;
box-sizing: border-box;
}
.box {
width: 400px;
height: 200px;
margin:0 auto;
transform: translateY(100px);
background: red;
transform-origin: 10px 10px;
animation: box 2s forwards,mm 1s 3s linear forwards;
}

span{
border:2px solid yellow;
background-color: yellow;
}
@keyframes box {

0%{
transform: translateY(-200px);opacity: 0;
}
70%{
transform: translateY(150px);
}
100%{
transform: translateY(100px); opacity: 1;
}
}

@keyframes mm {
0%{
transform: translateY(100px);transform: rotateZ(0deg);
}
40%{
transform: translateY(100px);transform: rotateZ(90deg);
}
70%{
transform: translateY(100px);transform: rotateZ(70deg);
}
100%{
transform: translateY(100px);transform: rotateZ(75deg);
}
}

问题出在哪里?这是我观看此动画的视频:CSS Animation Tutorial #11 - Animating a Pop-up

最佳答案

你在“mm”关键帧上做错了,当你写 transform 的时候,你就是在做

transform: translateY(100px);
transform: rotateZ(0deg);

并且第一个转换属性被第二个转换属性(级联)覆盖,所以这样写就可以修复它。

@keyframes mm {
0%{
transform: translateY(100px) rotateZ(0deg);
}
40%{
transform: translateY(100px) rotateZ(90deg);
}
70%{
transform: translateY(100px) rotateZ(70deg);
}
100%{
transform: translateY(100px) rotateZ(75deg);
}
}

Checkout the codepen here

关于css3 使用两个动画 : secound animation not starting from first animation postion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59354154/

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