css 动画总结

2017-12-11  本文已影响0人  赵碧菡

一、2D、3D 转换 (transform)

让元素在一个坐标系统中变形

//  浏览器前缀
    -webkit-transform
    -moz-
    -ms-
    -o-
2D转换
transform-origin

transform-origin 来对元素进行原点位置改变,默认是以元素中心位置
可以设置的属性值:left、right、top、bottom、center

transform-origin:left top;       // 左上角
3D转换
图片.png

前三个参数分别表示旋转的方向x,y,z,第四个参数表示旋转的角度,参数不允许省略。

 rotate3d(1,0,1,45deg)     // 1 代表此方向旋转,0 代表此方向不旋转
扩展属性
实例效果
图片.png
<div>
    <div class="inner"></div>
    <div class="middle"></div>
    <div class="outer"></div>
    <div class="imooc"></div>
</div>
div {
         transform-style: preserve-3d;
         perspective: 500px;
         perspective-origin: bottom;
 }
div > .inner {  transform: rotateY(67deg)}
div > .middle {  transform: rotateX(45deg)}
div > .outer {  transform: rotateZ(45deg)}
div > .imooc { background: url(./img/imooc.png) no-repeat center center; }

二、过渡( transition)

允许css 的属性值在一定的时间区间平滑度过,在鼠标单击、获取焦点、被点击或对元素任何改变中触发并圆滑地以动画效果改变css 属性值。

检索或设置对象中过渡的动画类型


图片.png
transition-timing-function:ease

检索或设置对象延迟过渡时间

ttransition-delay:2s

例子:当鼠标经过div时,宽度由100px变成200px,设置过渡效果

div{
  width:100px;
  transition:width 1s ease 2s 
  // 属性:宽,执行时间:1s,速度曲线:ease,延时:2s
}
div:hover{
   width:200px
}

如果属性设置成 all代表所有属性

三、动画 animation

animation:keyframe 名称,时间,速度曲线,延迟、播放的次数、direction

div{
  animation:mymove 5s infinite;
 }
@keyframes mymove {
    from{
        left:10px
     }
    to{
      left:100px
     }
}

兼容手机端需要加浏览器前缀

-webkit-animation:
@-webkit-keyframes  name{}
will-change

提前通知浏览器元素将要做什么动画,让浏览器提前准备合适的优化设置
增强页面渲染性能

参数说明:

使用

-webkit-will-change:transform    //  属性名称
-moz-will-change:transform
上一篇 下一篇

猜你喜欢

热点阅读