184 lines
2.5 KiB
Plaintext
184 lines
2.5 KiB
Plaintext
/*
|
|
Animation 微动画
|
|
基于ColorUI组建库的动画模块 by 文晓港 2019年3月26日19:52:28
|
|
*/
|
|
|
|
/* css 滤镜 控制黑白底色gif的 */
|
|
.gif-black{
|
|
mix-blend-mode: screen;
|
|
}
|
|
.gif-white{
|
|
mix-blend-mode: multiply;
|
|
}
|
|
|
|
|
|
/* Animation css */
|
|
[class*=animation-] {
|
|
animation-duration: .5s;
|
|
animation-timing-function: ease-out;
|
|
animation-fill-mode: both
|
|
}
|
|
|
|
.animation-fade {
|
|
animation-name: fade;
|
|
animation-duration: 2s;
|
|
animation-timing-function: linear
|
|
}
|
|
|
|
.animation-scale-up {
|
|
animation-name: scale-up
|
|
}
|
|
|
|
.animation-scale-down {
|
|
animation-name: scale-down
|
|
}
|
|
|
|
.animation-slide-top {
|
|
animation-name: slide-top
|
|
}
|
|
|
|
.animation-slide-bottom {
|
|
animation-name: slide-bottom
|
|
}
|
|
|
|
.animation-slide-left {
|
|
animation-name: slide-left
|
|
}
|
|
|
|
.animation-slide-right {
|
|
animation-name: slide-right
|
|
}
|
|
|
|
.animation-shake {
|
|
animation-name: shake
|
|
}
|
|
|
|
.animation-reverse {
|
|
animation-direction: reverse
|
|
}
|
|
|
|
@keyframes fade {
|
|
0% {
|
|
opacity: 0
|
|
}
|
|
|
|
100% {
|
|
opacity: 1
|
|
}
|
|
}
|
|
|
|
@keyframes scale-up {
|
|
0% {
|
|
opacity: 0;
|
|
transform: scale(.2)
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: scale(1)
|
|
}
|
|
}
|
|
|
|
@keyframes scale-down {
|
|
0% {
|
|
opacity: 0;
|
|
transform: scale(1.8)
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: scale(1)
|
|
}
|
|
}
|
|
|
|
@keyframes slide-top {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(-100%)
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateY(0)
|
|
}
|
|
}
|
|
|
|
@keyframes slide-bottom {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateY(100%)
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateY(0)
|
|
}
|
|
}
|
|
|
|
@keyframes shake {
|
|
|
|
0%,
|
|
100% {
|
|
transform: translateX(0)
|
|
}
|
|
|
|
10% {
|
|
transform: translateX(-9px)
|
|
}
|
|
|
|
20% {
|
|
transform: translateX(8px)
|
|
}
|
|
|
|
30% {
|
|
transform: translateX(-7px)
|
|
}
|
|
|
|
40% {
|
|
transform: translateX(6px)
|
|
}
|
|
|
|
50% {
|
|
transform: translateX(-5px)
|
|
}
|
|
|
|
60% {
|
|
transform: translateX(4px)
|
|
}
|
|
|
|
70% {
|
|
transform: translateX(-3px)
|
|
}
|
|
|
|
80% {
|
|
transform: translateX(2px)
|
|
}
|
|
|
|
90% {
|
|
transform: translateX(-1px)
|
|
}
|
|
}
|
|
|
|
@keyframes slide-left {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(-100%)
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0)
|
|
}
|
|
}
|
|
|
|
@keyframes slide-right {
|
|
0% {
|
|
opacity: 0;
|
|
transform: translateX(100%)
|
|
}
|
|
|
|
100% {
|
|
opacity: 1;
|
|
transform: translateX(0)
|
|
}
|
|
} |