动画/动效

686 阅读3分钟

常用css动画

// 上滑动画.slide-up-before {
    opacity: 0;
    display: none;
}
.slide-up-enter {
    opacity: 0;
}
.slide-up-enter-active {
    animation: slide-up 0.3s 0s ease-in;    display: block;
}
.slide-up-exit {
    opacity: 1;
}
.slide-up-exit-active {
    animation: slide-up 0.3s 0s reverse;
}
// 下拉动画.slide-down-enter-active {
    animation: slide-down 0.4s 0s ease-in-out;
}
.slide-down-exit-active {
    animation: slide-down 0.4s 0s reverse;
}
// 左滑动画.slide-left-enter-active {
    animation: slide-left 0.3s 0s ease-in-out;
}
.slide-left-exit-active {
    animation: slide-left-exit 0.3s 0s ease-in-out;
}
// 右滑动画
.slide-right-enter-active {
    animation: slide-right 0.3s 0s ease-in-out;
}
.slide-right-exit-active {
    animation: slide-right-exit 0.3s 0s ease-in-out;
}
// 缩小动画
.small-enter-active {
    animation: small 0.5s 0s cubic-bezier(0.85, -0.57, 0.58, 1) reverse;
    transform-origin: 100% 100%;
}
.small-exit-active {
    animation: small 0.5s 0s cubic-bezier(0.85, -0.57, 0.58, 1);
    transform-origin: 100% 100%;
}
// 向下移动
.fade-y-enter-active {
    animation: fade-in 0.4s ease-out;
}
.fade-y-exit-active {
    animation: fade-out 0.4s ease-out;
}
@keyframes slide-up {
    from {
        -webkit-transform: translateY(100%);
        -moz-transform: translateY(100%);
        transform: translateY(100%);
        opacity: 0;
    }
   to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}
@keyframes slide-down {
    from {
        -webkit-transform: translateY(-10%);
        -moz-transform: translateY(-10%);
        transform: translateY(-10%);
        opacity: 0;
    }
    to {
        -webkit-transform: translateY(0);
        -moz-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}
@keyframes slide-left {
    from {
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        transform: translateX(100%);
    }
    to {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        transform: translateX(0);
    }
}
@keyframes slide-left-exit {
    from {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
    to {
        -webkit-transform: translateX(-100%);
        -moz-transform: translateX(-100%);
        transform: translateX(-100%);
        opacity: 0.5;
    }
}
@keyframes slide-right {
    from {
        -webkit-transform: translateX(-100%);
        -moz-transform: translateX(-100%);
        transform: translateX(-100%);
    }
    to {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        transform: translateX(0);
    }
}
@keyframes slide-right-exit {
    from {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        transform: translateX(0);
        opacity: 1;
    }
    to {
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        transform: translateX(100%);
        opacity: 0.5;
    }
}
@keyframes small {
    from {
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
    to {
        -webkit-transform: scale(0);
        -moz-transform: scale(0);
        transform: scale(0);
        opacity: 0.5;
    }
}
@keyframes fade-in {
    from {
        opacity: 0;
        transform: translate(0, -1rem);
    }
    to {
        opacity: 1;
        transform: translate(0, 0);
    }
}
@keyframes fade-out {
    from {
        opacity: 1;
        transform: translate(0, 0);
    }
    to {
        opacity: 0;
        transform: translate(0, 1rem);
    }
}

参考:

编写自己的代码库(css3常用动画的实现)

H5移动端弹幕动画实现

手把手教你实现「京喜工厂」的CSS动画效果

真·数字滚动特效

2019年了,你还不会CSS动画?

怎么实现一个3d翻书效果

纯CSS实现简单骨骼动画

巧用 CSS 实现酷炫的充电动画

CSS动画之旋转魔方轮播

利用CSS变量实现令人震惊的悬浮效果

每周一个前端动画之三:twitter点赞动画

前端程序员必须掌握之三角函数在前端动画中的应用

能解决 80% 需求的 10个 CSS动画库

动画道路上的新宠 -- Lottie

2018年值得关注的10大JavaScript动画库

10个超漂亮的CSS 3D特效

Three.js 使用TWEEN插件实现动画

Three.js - 通过 CSS3DRenderer 实现全景浏览

three.js中使用CSS3D(CSS3DRenderer)方式展现效果修改展示形状(例子是官网的元素周期表)

Three.js - TrackballControls 轨迹球控件

用CSS3动画特效实现弹窗效果

iphone CSS动画失效

CSS动画:animation、transition、transform、translate傻傻分不清

你可能不知道的Animation动画技巧与细节

面试官:CSS3常见动画有哪些?实现方式?

高性能 CSS3 动画

从手机端 H5 制作来看 WEB 动画的术与道

【CSS】从浏览器渲染层面解析css3动效优化原理