Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不使用50%检查点的情况下反转CSS动画_Css_Css Animations - Fatal编程技术网

如何在不使用50%检查点的情况下反转CSS动画

如何在不使用50%检查点的情况下反转CSS动画,css,css-animations,Css,Css Animations,我花时间编写包含反转效果的动画,50%的检查点如下: element:hover { animation: XXXX 0.5s ease-in-out 0s 1; @keyframes XXXX { from { letter-spacing: 0.1rem; } 50% { letter-spacing: 0.5rem; } to { letter-spacing: 0.1rem; } } 我认为这并不优

我花时间编写包含反转效果的动画,50%的检查点如下:

element:hover {
animation: XXXX 0.5s ease-in-out 0s 1;
@keyframes XXXX {
    from {
        letter-spacing: 0.1rem;
    }
    50% {
      letter-spacing: 0.5rem;
    }
    to {
      letter-spacing: 0.1rem;
    }
}
我认为这并不优雅,我希望能够使用css属性来声明反向效果。例如:

element:hover {
animation: XXX 0.5s ease-in-out 0s 1 reverse;
@keyframes XXX {
    from {
        letter-spacing: 0.1rem;
    }
    to {
        letter-spacing: 0.5rem;
    }
}

我已经找到了解决办法,但什么也没找到。您有更清晰/最漂亮的解决方案吗?

您可以使用
备选方案,并且只定义两个迭代:

.box:悬停{
动画:XXX 0.5s缓进缓出交替;
动画迭代次数:2次;
}
@关键帧XXX{
从{
字母间距:0.1rem;
}
到{
字母间距:0.5雷姆;
}
}

这里的一些文本
您要查找的可能是
动画方向:交替反转

动画在每个循环中反转方向,第一次迭代向后播放

见:

@关键帧XXX{
从{
字母间距:0.5雷姆;
}
到{
字母间距:0.1rem;
}
}
.box:悬停{
动画:XXX 0.5s缓进输出0s 2交替反转;
}

此处的一些文本
您可能会注意到您还原了初始动画。。。因此,在最后,我们只需要像我在回答中所建议的那样使用替代方案,我们保留初始值animation@TemaniAfif是的,
alternate
alternate reverse
之间的差异仅在两次以上的迭代中可见,并且基于动画的符号顺序。否,您将拥有完全相同的动画:)。。。您已还原动画,因此初始动画上的“交替”与还原动画上的“交替反转”相同。请注意:谢谢您的建议!