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);
            }
        }
时间: 2024-11-05 16:24:20

CSS3的自定义动画帧的相关文章

CSS3动画帧数科学计算法

  CSS3和HTML5一样是网页设计的大势所趋,本篇文章来自腾讯内部饭卡充值改版项目的CSS3动画经验总结.虽然大家访问不到腾讯内部的饭卡站点,不过可以由此小窥一下有趣的动画示例哟. 计算法-css3动画帧数计算器"> bboy90:总结都浓缩在这个工具里了,想知道工具的地址或想窥探工具诞生的趣事请往下看 . (请使用chrome.safari或firefox浏览器看效果,效果地址) 实现上面"嘀卡萌风骚乱舞"的动画,比较麻烦的是,要凭感觉自己算参数写代码,重复试个千

CSS3中Animation动画的定义和调用

现在经常会看到一些门户网站的专题使用到CSS3的动画,咋也不能落伍,在此这梳理下动画知识吧,便于后面用到.接下来介绍下Animation动画的定义和调用,在介绍Animation之前需要了解下Keyframes,英文意思就是关键帧,它相当于我们flash里面的帧. Keyframes具有其自己的语法规则,他的命名是由"@keyframes"开头,后面紧接着是这个"动画的名称"加上一对花括号"{}",括号中就是一些不同时间段样式 规则,有点像我们c

HTML5+CSS3构建的动画切换

  有开发者表示,HTML5将给个人开发者带来更多机遇.下面的稿件详细描述了一个唯美的动画效果,它实现了在同一个页面中进行登录表单和注册表单的转换.这些效果,完全由HTML5和CSS3实现.文章后面附上了三种不同风格的显示转换效果.以及源码下载.既可为网页瘦身,又可实现漂亮的网页效果,快快收藏吧. 这篇稿件将描述如何在HTML5中,使用CSS3的目标伪类":target"来创建注册和登录两个表单.并实现它们在同一个页面中的显示转换.此演示目的是向用户展示从登录表单点击标注有"

android 自定义动画 求指点

问题描述 android 自定义动画 求指点 最近想要做一个动画效果,想使用scale 放大两次,第一次放大比第二次放大的倍数要大.就像果冻震动的那种效果 android:duration=""300"" android:fillBefore=""true"" android:fromXScale=""1"" android:fromYScale=""1"&

Android 动画(View动画,帧动画,属性动画)详细介绍_Android

0. 前言  Android动画是面试的时候经常被问到的话题.我们都知道Android动画分为三类:View动画.帧动画和属性动画. 先对这三种动画做一个概述: View动画是一种渐进式动画,通过图像的平移.缩放.旋转和透明度等各种渐进式变换完成动画效果. 帧动画是通过不停的切换图片实现动画效果. 属性动画是不停的改变对象的属性来实现动画效果.本文原创,转载请注明出处: http://blog.csdn.net/seu_calvin/article/details/52724655 1.  Vi

深入理解jquery自定义动画animate()_jquery

在以前很长一段时间里,网页上的各种特效还需要采用flash 在进行.但最近几年里,我们已经很少看到这种情况了,绝大部分已经使用JavaScript 动画效果来取代flash.这里 说的取代是网页特效部分,而不是动画.网页特效比如:渐变菜单.渐进显示.图片轮播等:而动画比如:故事情节广告.MV 等等.  如果复制当前代码进行在本地测试的时候,请注意把不需要(其他功能展示)的代码注释掉. <!DOCTYPE html> <html xmlns="http://www.w3.org/

Android 动画(View动画,帧动画,属性动画)详细介绍

0. 前言 Android动画是面试的时候经常被问到的话题.我们都知道Android动画分为三类:View动画.帧动画和属性动画. 先对这三种动画做一个概述: View动画是一种渐进式动画,通过图像的平移.缩放.旋转和透明度等各种渐进式变换完成动画效果. 帧动画是通过不停的切换图片实现动画效果. 属性动画是不停的改变对象的属性来实现动画效果.本文原创,转载请注明出处: http://blog.csdn.net/seu_calvin/article/details/52724655 1.  Vie

纯CSS3实现自定义涂鸦风格的边框

今天我们要来分享一款基于纯CSS3的自定义边框应用,看上去它像一个Tooltip控件,因为下边框有一个小三角,就像很多地方的引用文本框一样.另外这款CSS3边框是涂鸦风格的,看起来很有个性.用CSS3实现自定义边框的好处是可以自适应边框内部的文字数量大小. 你也可以在这里查看在线演示 下面我们来分享一下实现的方法,主要由HTML代码和CSS代码组成. HTML代码: <div> <div> <div>CSS3简单实现涂鸦风格边框 Welcome to</div&g

显示自定义动画鼠标或彩色图标(VB.net)

显示   '//'//显示自定义动画鼠标或彩色图标'//根据[孟子E章]的专栏C#代码 http://blog.csdn.net/net_lover/archive/2004/10/22/146575.aspx'// 'Imports System.Runtime.InteropServicesImports System.ReflectionPublic Class Form1    Inherits System.Windows.Forms.Form #Region " Windows 窗体