javascript - 一次应用多个翻译?

标签 javascript jquery css animation transform

我想知道如何让以下两个动画同时发生在一个元素上:

@keyframes BackgroundSnowfall{
    from    {transform: translate(0px, 0px);}
    to      {transform: translate(0px, 936px);} 
}
@keyframes shuffle{
    0%      {transform: translate(0px);}
    33%     {transform: translate(20px);}
    66%     {transform: translate(-20px)}
    100%    {transform: translate(0px)}
}

这两个动画的运行时间差异很大(大约 55 秒的间隙),因此我宁愿不必进行数学计算并创建一个长的单个动画关键帧来合并它们。

最佳答案

基于this answer ,您也许能够链接两个关键帧动画。

编辑

Here's an answer显示如何将图像包装在 <div> 中并对 <div> 应用一次变换包装器和第二次转换为 <img> .

这是一个例子:

#wrapper {
  position: relative;
  animation: vertical 10s infinite;
}

img {
  animation: horizontal 5s infinite;
}

@keyframes vertical{
    from    {transform: translate(0px, 0px);}
    to      {transform: translate(0px, 936px);} 
}

@keyframes horizontal{
    0%      {transform: translate(0px);}
    33%     {transform: translate(20px);}
    66%     {transform: translate(-20px)}
    100%    {transform: translate(0px)}
}
<div id="wrapper"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAADbSURBVHhe7dAxEQAgDAAxhHTEvzM8YKG/5y4Kct5clmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZgaxAViArkBXICmQFsgJZa3M/KCjwdMHWsEkAAAAASUVORK5CYII=" /></div>

关于javascript - 一次应用多个翻译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34422633/

相关文章:

javascript - 未捕获类型错误 : . 。不是 javascript 中的函数

javascript - css() 函数调用静默失败?

javascript - 如何让可滚动 flexbox 容器中的新元素出现在最新的最下面(包括 Fiddle)

javascript - 在父 div 中居中输入

javascript - JQuery 不附加 html 表单

javascript - 条件数据显示在 Angularjs 中隐藏

html - 匹配 CSS 规则的正则表达式

html - 使用 JavaScript 重新渲染时阻止 img 标签闪烁

javascript - 如何查看每个动画的 cpu 和 gpu 使用情况?

javascript - 停止传播 : bubble down?