keyframes
使用keyframes
关键字,你可以创建动画序列,然后将其应用到元素上。
tsx
import { keyframes } from "flexstyled"
const frames = keyframes("mymove",{
from:{
opacity: 0
},
to:{
opacity: 1
}
}
然后就可以在声明animate
中使用mymove
了。
keyframes
中也可以使用动态样式,如下:
tsx
import { keyframes } from "flexstyled"
const frames = keyframes("mymove",{
from:{
opacity: 0
},
to:{
opacity: (props)=>props.to || 1
}
}
const Button = styled((props,{getStyle})=>{
// 由于keyframes用到了动态样式,所以需要传入getStyle({props})
return <button style={getStyle(props)} /> [!code ++] // 注入样式
},{
animation: `${frames} 2s linear` // 声明动画
},[
frames // 组合样式
])