| New file |
| | |
| | | /* |
| | | 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: .8s; |
| | | 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) |
| | | } |
| | | } |