gpt4 book ai didi

html - CSS3 多重动画 : not clear at all

转载 作者:行者123 更新时间:2023-11-27 23:46:44 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的动画,它由来自不同方向的多个图像组成,最后将每个图像并排对齐。这是通过仅使用 CSS3,而不使用 javascript。但是,由于我还没有用它制作任何动画,所以我很困惑,而且我很确定我做得不对。这是带有我现在所做代码的 jsfiddle,它按预期工作:

Jsfiddle

尽管如此,我还是很困惑,因为我不理解 @-webkit-keyframes/@keyframes 规则。

在第一个 img(红色)上,它正好从左边 0px 移动到 300px,而第二个 img(蓝色)应该从左边 400px< 移动-100px,所以从技术上讲它会走到外面消失,但它会移动到 img1 旁边。

最后但并非最不重要的一点是,第三个 img(绿色)应该在蓝色的旁边并且会一起在外面,但它移动到它的正后方。

这是为什么呢?有人可以轻松地向我解释动画是如何工作的吗?有更好的方法吗?

如果链接不起作用,这是代码:

HTML

<html>
<head>
<link rel="stylesheet" type="text/css" href="css/css.css" />
</head>
<body>
<div id="img1"/>
<div id="img2"/>
<div id="img3"/>
</body>
</html>

CSS

#img1, #img2, #img3 {
width: 100px;
height: 30px;
position: relative;
}

#img1 {
background: red;
-webkit-animation: first 5s infinite; /* Chrome, Safari, Opera */
animation: first 5s infinite;
}

#img2 {
background: blue;
-webkit-animation: second 5s infinite; /* Chrome, Safari, Opera */
animation: second 5s infinite;
}

#img3 {
background: green;
-webkit-animation: third 5s infinite; /* Chrome, Safari, Opera */
animation: third 5s infinite;
}

/* Chrome, Safari, Opera */
@-webkit-keyframes first {
from {left: 0px;}
to {left: 300px;}
}

@keyframes first {
from {left: 0px;}
to {left: 300px;}
}

@-webkit-keyframes second {
from {left: 400px;}
to {left: -100px;}
}

@keyframes second {
from {left: 400px;}
to {left: -100px;}
}

@-webkit-keyframes third {
from {left: 300px;}
to {left: -100px;}
}

@keyframes third {
from {left: 300px;}
to {left: -100px;}
}

预先感谢您的帮助。

最佳答案

这是因为 #img1, #img2, #img3 是相对位置的...你想要一个相对于浏览器窗口的动画所以你必须使用固定定位。

#img1, #img2, #img3 {
width: 100px;
height: 30px;
position: fixed;
}

工作演示:Fiddler

(有关 CSS Positioning 的更多信息)

关于html - CSS3 多重动画 : not clear at all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29558348/

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