zoukankan      html  css  js  c++  java
  • CSS3动画

    CSS变形
    每个效果都可以称为变形(transform)
    操控元素发生平移、旋转、缩放、倾斜等变化
    语法: transform: none | transform-functions;
    变形函数
         translate():平移函数,基于X、Y坐标重新定位元素的位置
         scale():缩放函数,可以使任意元素对象尺寸发生变化
         rotate():旋转函数,取值是一个度数值
         skew():倾斜函数,取值是一个度数值
    

    使用CSS3中的2D变形分别可以操作元素的哪些效果?

    2D变形
        2D位移 --- translate
           语法: translate(tx,ty);
               // X轴(横坐标)移动的向量长度       Y轴(纵坐标)移动的向量长度
        一个方向上的偏移
           translateX(tx) 表示只设置X轴的位移
                transform:translate(100px,0) <-----> transform:translateX(100px)
           translateY(ty) 表示只设置Y轴的位移
                transform:translate(0,100px) <-----> transform:translateY(100px)            
        2D缩放 --- scale 
           语法: scale(sx,sy);
              // 横向坐标(宽度)方向的缩放量      纵轴坐标(高度)方向的缩放量
           scale()函数可以只接收一个值,也可以接收两个值,只有一个值时,第二个值默认和第一个值相等
           scaleX(sx):表示只设置X轴的缩放
               transform:scale(2,0) <-----> transform:scaleX(2)
           scaleY(sy):表示只设置Y轴的缩放
               transform:scale(0,2) <-----> transform:scaleY(2)
        2D倾斜 --- skew
           语法: skew(ax, ay);
             // 水平方向(X轴)的倾斜角度      垂直方向(Y轴)的倾斜角度
           可以仅设置沿着X轴或Y轴方向倾斜
               skewX(ax):表示只设置X轴的倾斜
               skewY(ay):表示只设置Y轴的倾斜
        2D旋转 --- rotate
           语法: rotate(a);
               参数a单位使用deg表示
               参数a取正值时元素相对原来中心顺时针旋转
    CSS3过渡属性有哪些属性值?分别起什么作用?
    CSS3过渡
        元素从一种样式逐渐改变为另一种样式的效果
        语法: transition:[transition-property  transition-duration  transition-timing-function   transition-delay ] 
          // 过渡或动态模拟的CSS属性     完成过渡所需要的时间     指定过渡函数    过渡开始出现的延迟时间
    过渡属性的使用
        过渡属性( transition-property )
             定义转换动画的CSS属性名称
                  property:指定的CSS属性(width、height、background-color属性等)
                  all:指定所有元素支持transition-property属性的样式,一般为了方便都会使用all
                  none:没有属性会获得过渡效果
        过渡所需的时间( transition-duration )
             定义转换动画的时间长度,即从设置旧属性到换新属性所花费的时间,单位为秒(s)
        过渡动画函数( transition-timing-function )
             指定浏览器的过渡速度,以及过渡期间的操作进展情况
             通过给过渡添加一个函数来指定动画的快慢方式
                  ease:速度由快到慢(默认值)
                  linear:速度恒速(匀速运动)
                  ease-in:速度越来越快(渐显效果)
                  ease-out:速度越来越慢(渐隐效果)
                  ease-in-out:速度先加速再减速(渐显渐隐效果)
        过渡延迟时间( transition-delay )
             指定一个动画开始执行的时间,改变元素属性值后、开始执行动画前的用时
             单位秒或者毫秒
                  正值:元素过渡效果不会立即触发,当过了设置的时间值后才会被触发
                  负值:元素过渡效果会从该时间点开始显示,之前的动作被截断
                  0:默认值,元素过渡效果立即执行
    CSS3过渡有哪些触发方式?
    过渡的触发机制
         伪类触发
            :hover
            :active
            :focus
            :checked
    
        媒体查询:通过@media属性判断设备的尺寸、方向等
        JavaScript触发:用JavaScript脚本触发  
    CSS3动画
    CSS3动画
       animation动画简介
          animation实现动画的组成部分
              通过类似Flash动画的关键帧声明一个动画
              在animation属性中,调用关键帧声明的动画,实现一个更为复杂的动画效果
    CSS3动画的使用过程
       设置关键帧
          @keyframes  IDENT  {                         @keyframes spread {    
              from {/*CSS样式写在这里*/}                      0% {0;}
              percentage {/*CSS样式写在这里*/}                33% {23px;}
              to {/*CSS样式写在这里*/}                        66% {46px;}
          }                                                 100% {69px;}
                                                       }
        调用关键帧
       animation:animation-name                   ----- 由@keyframes创建的动画名称
           animation–duration                     ----- 动画时间
           animation-timing-function              ------ 动画方式
           animation-delay                        ------ 延迟时间
           animation-iteration-count              ------ 动画的播放次数
           animation-direction                    ------ 动画的播放方向
           animation-play-state                   ------ 动画的播放状态
           animation-fill-mode;                   ------ 动画的播放之外的状态
        动画的播放次数(animation-iteration-count)
              值通常为整数,默认值为1
              特殊值infinite,表示动画无限次播放
        动画的播放方向(animation-direction)
              normal,动画每次都是循环向前播放
              alternate,动画播放为偶数次则向前播放
        动画的播放状态(animation-play-state)
              running将暂停的动画重新播放
              paused将正在播放的元素动画停下来
        动画发生的操作(animation-fill-mode)
              forwards表示动画在结束后继续应用最后关键帧的位置
              backwards表示会在向元素应用动画样式时迅速应用动画的初始帧
              both表示元素动画同时具有forwards和backwards的效果
    
    总结
    CSS3变形
        rotate( )函数只是旋转,而不会改变元素的形状
        skew( )函数是倾斜,元素不会旋转,会改变元素的形状
    过渡的触发机制(常用)
        :hover
    创建动画步骤
        @keyframes:创建动画(关键帧)
        animation:在对应元素上使用动画
    

      

      

     
  • 相关阅读:
    进程-线程-消息队列
    用Ogre实现《天龙八部》场景中水面(TerrainLiquid)详解
    TCP协议三次握手过程分析【图解,简单清晰】
    excel批量删除sql语句
    批量删除指定盘指定格式文件
    Linux命令速查手册(第2版)学习
    List、Map、Set 三个接口,存取元素时,各有什么特点
    HashMap 什么时候进行扩容呢
    两个对象值相同 (x.equals(y) == true),但却可有不同的 hash code,这句话对不对?
    ArrayList,Vector, LinkedList 的存储性能和特性
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12740684.html
Copyright © 2011-2022 走看看