css - 在两个不同的时间排队相同的动画,而不复制代码和提供新名称?

标签 css css-animations

我有两个动画 bouncesquishstretch

我想先设置squishstretch 动画,然后设置bounce,然后再设置squishstretch

这行不通:

animation-name: squishstretch, bounce, squishstretch;
animation-duration: .15s, .2s, .12s;
animation-delay: 0, .25s, .55s;
animation-iteration-count: 2, 2, 2;

但是这样

animation-name: squishstretch, bounce, squishstretch2;
animation-duration: .15s, .2s, .12s;
animation-delay: 0, .25s, .55s;
animation-iteration-count: 2, 2, 2;

但这意味着我必须复制所有 squishstretch 的规则(加上供应商前缀相当多)并给副本一个新名称。

有没有一种方法可以修复它,而不必复制大量规则,这样动画名称就可以有唯一的名称?

演示:http://jsbin.com/ekebun/1/edit

最佳答案

让它成为一个动画!

@keyframes squishstretchbounce {
0%   { height: 100px; width: 100px; margin-left: 0; bottom:0; }
44%  { height: 94px; width: 104px; margin-left: -2px; bottom: -6px;}
    88%  { height: 100px; width: 100px; margin-left: 0; bottom:0; }
    89%  { bottom: 0; }
    95%  { bottom: 10px; }
    100% { bottom: 0; }
} 

然后使用动画:squishstretchbounce 1.4s infinite;。我编译的关键帧比你多的原因是它可以动画回到默认状态。确保也添加浏览器前缀。附带一提,我相信没有前缀的 keyframes 需要是 @keyframes

关于css - 在两个不同的时间排队相同的动画,而不复制代码和提供新名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17367670/

相关文章:

CSS 动画,隐藏动画初始部分的溢出

CSS - 带有右边框细化的打字机动画

css - 突出显示元素然后过渡回原始颜色

javascript - 使用javascript在php中编辑html

javascript - 如何写一个不死边界的变量

javascript - 在 Firefox 中单击内部 2-3 次时,光标移动到带有占位符 css 的 contenteditable div 之外

css - 是否可以仅使用 CSS 重新创建选取框?

php - 将 HTML 转换为 PHP 后 CSS 背景图像失败

jquery - 在我的案例中如何替换背景图片?

CSS3 动画背景不适用于 Firefox