CSS3的自定义动画帧

简介: CSS3的自定义动画帧

CSS3新增的动画帧非常绚丽,可以简单实现一些动画效果,目前除IE外各大主流浏览器都支持

本文演示三个:transform: scale3d(x, y, z)-缩放;、transform: translate3d(x, y, z)-位移;、transform:rotateX/Y(?deg)-旋转;

演示地址:http://wjf444128852.github.io/demo02/css3/index.html

@keyframes 动画名{}
@-处理兼容性-keyframes
animation: expand 0.6s ease-out infinite;[动画名 动画执行时间 动画速度 动画次数]
-处理兼容-animation:
复制代码
<html lang="en"><head>
    <meta charset="UTF-8">
    <title>CSS3</title>
    <link rel="stylesheet" href="index.css">
</head>
<body>
    <div class="parent">
        <div class="main"></div>
        <div class="d2"></div>
        <div class="d3">A</div>
    </div>

</body></html>
复制代码
复制代码
html,body{
            width: 98%;
            height: 98%;
        }
        /*方法二*/
        body{
            display: flex;
            align-items: center;/****水平居中****/
            justify-content: center;/*垂直居中*/
        }
        .parent{
            overflow: hidden;
            width: 500px;
            height: 400px;
            background: orange;
            /*方法一*/
            /*margin: 0 auto;*/
            position: relative;
            /*top: 50%;*/
            /*margin-top: -200px;*//***此行等于transform:translateY(-50%)******/
        }
        .parent div{
            width: 100px;
            height:100px;
            margin: 0 auto;
            margin-top: 20px;
        }
        .main{
            position: relative;
            /*top:150px;*/
            background: pink;
            -webkit-animation: expand 0.6s ease-out infinite;
            -moz-animation: expand 0.6s ease-out infinite;
            -o-animation: expand 0.6s ease-out infinite;
            -ms-animation: expand 0.6s ease-out infinite;
            animation: expand 0.6s ease-out infinite;
        }
        .d2{
            background: green;
            -webkit-animation: bounce 3s ease-out infinite;
            -moz-animation: bounce 3s ease-out infinite;
            -o-animation: bounce 3s ease-out infinite;
            -ms-animation: bounce 3s ease-out infinite;
            animation: bounce 3s ease-out infinite;

        }
        @keyframes bounce {
            0% {
                transform: translate3d(0, -25px, 0);
                opacity: 0;
            }
            25% {
                transform: translate3d(0, 10px, 0);
            }
            50% {
                transform: translate3d(0, -6px, 0);
            }
            75% {
                transform: translate3d(0, 2px, 0);
            }
            100% {
                transform: translate3d(0, 0, 0);
                opacity: 1;
            }
        }
        @-webkit-keyframes bounce {
            0% {
                transform: translate3d(0, -25px, 0);
                opacity: 0;
            }
            25% {
                transform: translate3d(0, 10px, 0);
            }
            50% {
                transform: translate3d(0, -6px, 0);
            }
            75% {
                transform: translate3d(0, 2px, 0);
            }
            100% {
                transform: translate3d(0, 0, 0);
                opacity: 1;
            }
        }
        @-moz-keyframes bounce {
            0% {
                transform: translate3d(0, -25px, 0);
                opacity: 0;
            }
            25% {
                transform: translate3d(0, 10px, 0);
            }
            50% {
                transform: translate3d(0, -6px, 0);
            }
            75% {
                transform: translate3d(0, 2px, 0);
            }
            100% {
                transform: translate3d(0, 0, 0);
                opacity: 1;
            }
        }
        @-o-keyframes bounce {
            0% {
                transform: translate3d(0, -25px, 0);
                opacity: 0;
            }
            25% {
                transform: translate3d(0, 10px, 0);
            }
            50% {
                transform: translate3d(0, -6px, 0);
            }
            75% {
                transform: translate3d(0, 2px, 0);
            }
            100% {
                transform: translate3d(0, 0, 0);
                opacity: 1;
            }
        }
        @keyframes expand {
            0% {
                transform: scale3d(1, 0, 1);
            }
            25% {
                transform: scale3d(1, 1.2, 1);
            }
            50% {
                transform: scale3d(1, 0.85, 1);
            }
            75% {
                transform: scale3d(1, 1.05, 1);
            }
            100% {
                transform: scale3d(1, 1, 1);
            }
        }
        @-webkit-keyframes expand {
            0% {
                transform: scale3d(1, 0, 1);
            }
            25% {
                transform: scale3d(1, 1.2, 1);
            }
            50% {
                transform: scale3d(1, 0.85, 1);
            }
            75% {
                transform: scale3d(1, 1.05, 1);
            }
            100% {
                transform: scale3d(1, 1, 1);
            }
        }
        @-moz-keyframes expand {
            0% {
                transform: scale3d(1, 0, 1);
            }
            25% {
                transform: scale3d(1, 1.2, 1);
            }
            50% {
                transform: scale3d(1, 0.85, 1);
            }
            75% {
                transform: scale3d(1, 1.05, 1);
            }
            100% {
                transform: scale3d(1, 1, 1);
            }
        }
        @-o-keyframes expand {
            0% {
                transform: scale3d(1, 0, 1);
            }
            25% {
                transform: scale3d(1, 1.2, 1);
            }
            50% {
                transform: scale3d(1, 0.85, 1);
            }
            75% {
                transform: scale3d(1, 1.05, 1);
            }
            100% {
                transform: scale3d(1, 1, 1);
            }
        }
        /*transform:rotate3d(x,y,z,deg);*/
        /*transform:rotate3d(1,1,0,45deg);*/
        .d3{
            background: #e4393c;
            -webkit-animation: move 3s linear infinite;
            -moz-animation: move 3s linear infinite;
            -ms-animation: move 3s linear infinite;
            -o-animation: move 3s linear infinite;
            animation: move 3s linear infinite;
        }
        @-o-keyframes move{
            25%{
                transform:rotateY(45deg);
            }
            50%{
                transform:rotateY(360deg);
            }
            75%{
                transform:rotateX(45deg);
            }
            100%{
                transform:rotateX(180deg);
            }
        }
        @-moz-keyframes move{
            25%{
                transform:rotateY(45deg);
            }
            50%{
                transform:rotateY(360deg);
            }
            75%{
                transform:rotateX(45deg);
            }
            100%{
                transform:rotateX(180deg);
            }
        }
        @-webkit-keyframes move{
            25%{
                transform:rotateY(45deg);
            }
            50%{
                transform:rotateY(360deg);
            }
            75%{
                transform:rotateX(45deg);
            }
            100%{
                transform:rotateX(180deg);
            }
        }
        @keyframes move{
            25%{
                transform:rotateY(45deg);
            }
            50%{
                transform:rotateY(360deg);
            }
            75%{
                transform:rotateX(45deg);
            }
            100%{
                transform:rotateX(180deg);
            }
        }
目录
相关文章
|
6月前
|
前端开发 开发者
CSS变量,也被称为CSS自定义属性或级联变量
【4月更文挑战第7天】CSS变量,也被称为CSS自定义属性或级联变量
50 3
|
1月前
|
前端开发 JavaScript
如何在CSS中添加自定义属性
如何在CSS中添加自定义属性
11 0
|
3月前
|
前端开发 程序员
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
一年一度的520情人节/七夕情人节/女朋友生日/程序员表白,是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现HTML+CSS+JavaScript制作七夕表白网页(含音乐+自定义文字)。赶紧学会了,来制作属于我们程序员的浪漫吧!
83 0
HTML+CSS+JavaScript制作动态七夕表白网页(含音乐+自定义文字)
|
3月前
|
缓存 前端开发 Linux
如何使用 @font-face 和 font-display 在 CSS 中定义自定义字体
如何使用 @font-face 和 font-display 在 CSS 中定义自定义字体
85 0
|
4月前
|
前端开发
css动画 —— 自定义不规则的动画路径 offset-path (含不规则的动画路径参数获取方法)
css动画 —— 自定义不规则的动画路径 offset-path (含不规则的动画路径参数获取方法)
103 1
|
4月前
|
前端开发 JavaScript
vue 自定义气泡弹窗 $pop (内含css晃动动画shake制作)
vue 自定义气泡弹窗 $pop (内含css晃动动画shake制作)
101 0
|
6月前
|
存储 前端开发 JavaScript
css的变量和自定义变量概念
css的变量和自定义变量概念
|
5月前
|
前端开发 JavaScript
如何在CSS中添加自定义属性
如何在CSS中添加自定义属性
32 0
|
6月前
【最简洁】一句CSS3代码实现不规则自定义背景图拼接样式,多用于异形弹窗背景图
【最简洁】一句CSS3代码实现不规则自定义背景图拼接样式,多用于异形弹窗背景图
|
前端开发
那些你不知道的 CSS 自定义形状网格布局 3(1)
那些你不知道的 CSS 自定义形状网格布局
84 0
那些你不知道的 CSS 自定义形状网格布局 3(1)

热门文章

最新文章