zoukankan      html  css  js  c++  java
  • CSS3 Animation 简单总结

    CSS3 变形(Transformation)

    /* 该属性下所有的书写规则都需写这三个前缀*/
    -webkit-transform/-moz-transform/-o-transform
    rotate

    /* 元素逆时针旋转90度 */
    rotate(-90deg);
    

    Rotate(旋转)允许你通过传递一个度数值来转动一个对象。
    IE有这方面的滤镜:图形旋转滤镜。它可以有4个旋转值:0, 1, 2,和3。filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3);

    scale

    /* 宽和高都会被放大双倍 */
    scale(2);
    /* 宽会是双倍,而高度保持不变 */
    scale(2, 1);
    /* nav的宽度将是双倍,并且水平翻转,但是高度保持不变 */
    scale(-2, 1);
    

    scale(缩放)同时采用宽和高两个值,这些值可以是正数、负数和小数。正数放大倍数,负数反转,小数缩小倍数。支持小数点。
    IE不支持该属性。

    translate

    /* 元素向左移动10像素并向下移动20像素 */
    translate(10px, 20px);
    

    translate(移动)在原有布局定位的基础上移动,不影响其他元素布局。IE不支持该属性。

    skew
    /* 元素x轴向上倾斜30度,y轴向左倾斜10度 */
    skew(30deg, -10deg);
    

    skew(倾斜)在原有布局定位的基础上移动,不影响其他元素布局。IE不支持该属性。
    根据倾斜角度的不同,元素可能会被拉长也可能会被缩小。

    上述css3动画都可以链式书写eg:

    translate(10, 25) rotate(90deg) scale(2, 1);
    

    使用transform-origin(-moz-transform-origin/-webkit-transform-origin/-o-transform-origin)可以指定transform变形的起点。eg:

    /*以元素左上角的点为基准*/
    transform-origin: 0 0;
    /*以元素右下角的点为基准*/
    transform-origin:100% 100%;
    /*以元素左上角的点为基准*/
    transform-origin:top left;
    

    CSS3 转换(transition)

    一个涉及到CSS属性的基本的转换就是定义和移动一个元素从它的静止状态(比如,深蓝色背景)到它的hover或者激活状态(比如,浅蓝色背景)。

    转换可以和变形同时使用(以及引发诸如:hover 或:focus事件)以创建一些动画。淡出背景色彩,滑动一个元素以及让一个对象旋转都可以通过CSS转换实现。

    /*一下transition都需要添加这些前缀*/
    -webkit-transition-property/-moz-transition-property/-o-transition-property
    
    transition-property
    /*指定元素background-color的样式变化时使用转换动画*/
    transition-property:background-color;
    

    指定转换的CSS属性名称

    transition-duration
    /*指定元素转换时间需要2s*/
    transition-duration:2s;
    

    定义转换花费的时间(从旧属性换到新属性花费的时间)

    transition-timing-function
    /*元素转换时的动画效果为ease-in*/
    transition-timing-function:ease-in;
    

    过度效果。指定转换过程中的中间值。可以用cubic-bezier指定。当然有几个常用的内置值:ease | linear | ease-in | ease-out | ease-in-out。

    transition-delay
    /*元素转换时延迟2s*/
    transition-delay:2s;
    

    转换延迟的时间。时间可以为正整数、负整数和零,非零的时候必须设置单位是s(秒)或者ms(毫秒),为负数的时候,转换的动作会从该时间点开始显示,之前的动作被截断。

    CSS3 动画(animation)

    CSS3 动画可以将之前的转换(transition)以帧的形式“动”起来。

    /* 该属性下所有的书写规则都需写这三个前缀*/
    -webkit-animation/-moz-animation/-o-animation
    animation-name

    动画的名称。必须,以后者keyframes结合使用。

    animation-duration

    定义动画播放一次需要的时间。默认为0,其实是必须的否则没有效果。

    animation-timing-function

    定义动画播放的方式,参数linear(线性常用)/ease (默认动画函数)/ease-in/ease-out/ease-in-out/cubic-bezier(x1, y1, x2, y2)/step-start。
    详细可自行找资料。

    animation-delay

    定义动画开始的时间,默认0。

    animation-iteration-count

    定义循环的次数,infinite即为无限次。默认是1。

    animation-direction

    动画播放的方向,normal(默认)/alternate(第偶数次向前播放,第奇数次向反方向播放)。

    定义为元素animation样式后,需要定义动画keyframes。eg:

    /*动画名为abc的运动帧,同样需要加前缀eg:@-moz-keyframes*/
    @keyframes abc{
    0   {-moz-transform:rotate(0deg);}
    25% {-moz-transform:rotate(90deg);}
    50% {-moz-transform:rotate(180deg);}
    75% {-moz-transform:rotate(270deg);}
    100%{-moz-transform:rotate(360deg);}
    }
    
  • 相关阅读:
    快递员—你惹不起的“组织”
    BF的真正意义
    读书:《四点起床-最养生和高效的时间管理》
    你究竟有多想成功?汗水铸造巨星(中英结合版含视频)
    美国女生给我的六个惊诧(转)
    据说是世界上最健康的作息
    少走弯路的十条忠告
    编程—休息片刻的好处
    学电脑必懂的53个英文单词和缩写
    四件在我步入职业软件开发生涯那天起就该知道的事情
  • 原文地址:https://www.cnblogs.com/webu/p/2794767.html
Copyright © 2011-2022 走看看