css - 同一个动画可以有不同的过渡吗?
问题描述
我正在尝试创建一个包含许多步骤的动画。
我希望每次更改样式状态时都有不同的过渡值。
但是,使用transition
inside@keyframes
没有任何效果。
.square {
background-color: #333;
height: 100px;
width: 100px;
animation: 4s move infinite;
}
@keyframes move {
0% {
transition: ease-in;
}
50% {
transform: translate(100%);
transition: ease-out;
} 100% {
transform: translate(0);
transition: cubic-bezier(0.25, 0.1, 0.6, 1.8);
}
}
<div class="square"></div>
我想知道是否有一种方法可以使动画的每个阶段都有不同的过渡,而不必组合多个animation
包装元素。
解决方案
该transition
属性在关键帧内不做任何事情。您可以使用该属性来指定选择器/变换之间的绘制transition
转换方式(即默认和:hover
from
to
0%
50%,
100%
当您考虑它时,它们是表达相同信息的两种不同方式。
如果您想更好地控制过渡,可以在各个关键帧中使用该属性。animation-timing-function
只知道直到 2015 年左右 Safari (iOS/OSX) 才支持它,所以如果你需要支持这些版本,你可能会遇到麻烦。
推荐阅读
- python - 在 Pandas DataFrame 中填充 FRED 数据中的漏洞
- c++ - 琐碎对象和非琐碎对象有什么区别
- excel - 向组合框添加多个范围
- ruby-on-rails - 尝试解码 JWT 令牌,但无法访问返回意外对象和属性的解码函数
- bioinformatics - 删除过度代表序列时出错:TypeError:强制转换为 Unicode:需要字符串或缓冲区,找到 NoneType
- android - 在Android服务器端的应用购买验证中寻找订阅平台
- c++ - 'void visualizar()' 的新声明含糊不清
- python - 正确更新 matplotlib 图 - tkinter
- javascript - 根据 div 高度拆分溢出文本
- css - 如何清除 iphone 6 上的缓存以重新加载 css 文件