用CSS3使你的网页"动"起来——transform属性

来源:互联网 发布:淘宝卖家充值平台 编辑:程序博客网 时间:2024/06/16 18:06

转换

  1. 什么是转换
    改变元素在页面上的大小,位置,形状以及角度的一种方式
    可以向元素应用2D以及3D的转换效果

  2. 转换属性
    (1)转换效果
    属性:transform
    取值:1.none:默认值,即没有任何转换效果
    2.一个或多个转换函数,如果是多个转换函数,中间用”空格隔开”
    (2)转换的原点
    属性:transform-origin
    取值:
    1.两个值:表示原点在x轴和y轴的位置
    2.三个值:表示原点在x轴,y轴和z轴的位置
    可以取数值/百分比/关键字

2D转换

  1. 位移:改变元素在页面上的位置
    属性:transform
    取值:
    1.translate(x):x取值为正,向右移动;x取值为负,向左移动
    2.translate(x,y):x同上;y取值为正,下移;y取值为负,向下移动
    3.translateX(x)
    4.translateY(y)

  2. 缩放
    属性:transform
    取值:
    1、scale(value):value表示的是x轴和y轴的缩放倍率
    2、scale(x,y)
    3、scaleX(x)
    4、scaleY(y)
    注:x,y的取值 默认为1;放大:大于1的数值;缩小:0-1之间的数字

  3. 旋转:改变元素在页面上的角度
    属性:transform
    取值:rotate(ndeg)
             取值为正,顺时针旋转
             n取值为负,逆时针旋转
    注意: 1、转换原点你会影响旋转效果
               2、旋转操作时,连同坐标轴一同都跟着转

  4. 倾斜:改变 元素在页面中的形状
    属性:transform
    取值:1、skewX(ndeg) 让元素向横向倾斜
                    n取值为正,y轴逆时针倾斜
                    n取值为负,y轴顺时针倾斜
              2、skewY(ndeg) 让元素向纵向倾斜
                    n取值为正,x轴顺时针倾斜
                    n取值为负,x轴逆时针倾斜
              3、skew(x)
              4、skew(x,y)

3D转换

  1. 属性:perspective
         作用:模拟 人眼睛 到3D转换物体的距离,取值越大,表示离物体越远,取值越小,表示离物体越近
         取值:以px为单位的数值
         注意:该属性要加在3D转换元素的父元素上
  2. 3D旋转
         属性:transform
         取值:rotateX(xdeg):以x轴为中心轴,旋转元素
                   rotateY(ydeg):以y轴为中心轴,旋转元素
                   rotateZ(zdeg):以z轴为中心轴,旋转元素
                   rotate3D(x,y,z,ndeg):x,y,z取值大于0的话,则该轴参与旋转;x,y,z取值为0的话,则该轴不参与旋转

过渡

  1. 什么是过渡
    使得CSS的属性值在一段时间内平缓变化的效果
    过渡能观察到元素的属性值得变化过程
  2. 过渡四要素(四属性)
    (1)指定过渡属性
         作用:指定那个CSS属性值在变化时需要使用过渡的效果。当指定属性值发生变化时,过渡就会被触发
         语法:transition-property
         取值: 1.属性名称
                    2.none:默认值
                    3.all
    允许设置过渡的属性:1、颜色属性
                                      2、取值为数字的属性
                                      3、转换属性-transform
                                      4、渐变属性
                                      5、visibility
                                      6、阴影属性
    (2)指定过渡时长:过渡的效果要在多长时间内完成
        属性:transition-duration
        取值:以s或ms为单位的数值
        默认值为0,意味着不会有过渡效果
    (3)指定过渡的速度时间曲线函数
    属性:transition-timing-function
    取值:
                1、ease 默认值,慢速开始,快速变快,慢速结束
                2、linear 匀速
                3、ease-in 慢速开始,加速结束
                4、ease-out 快速开始,减速结束
                5、ease-in-out 慢速开始和结束,中间先加后减
    (4)指定过渡延迟:当用户激发操作后等待多长时间再显示效果
        属性:transition-delay
        取值:以s或ms为单位的数值

动画
1、什么是动画
动画指使元素从一种样式逐渐变化为另一种样式的过程
动画是复杂版的过渡效果
本质:使用”关键帧”,来定义动画的每一步
          关键帧:包含 运行的时间点以及动作(样式)
2、动画的使用步骤
(1)声明动画
    指定动画名称以及涉及到的关键帧们
(2)为元素调用动画
    指定元素使用哪个动画效果
3、声明动画
    样式表中,通过 @keyframes 规则来声明动画

            @keyframes 动画名称{                    0%{                        /*动画开始时,元素的样式*/                        属性:值;                        属性:值;                    }                    50%{                        /*动画执行到一半时,元素的样式*/                    }                    100%{                        /*动画结束时,元素的样式*/                    }            }

动画声明的浏览器兼容性:
    @-moz-keyframes动画名{ … }
    @-webkit-keyframes动画名{ … }
    @-o-keyframes动画名{ … }
4、调用动画
    (1)animation-name:要调用的动画名称
    (2)animation-duration:动画完成一个周期需要的时长
        取值:以s或ms为单位的数值
    (3)animation-timing-function:指定动画的速度时间曲线函数
取值:ease、linear、ease-in,ease-out、ease-in-out
    (4)animation-delay:指定动画的播放延迟
    (5)animation-iteration-count:指定动画的播放次数
        取值:1.默认值为1,只播放一次
                  2.自定义数值
                  3.infinite,表示无限次播放
    (6)animation-direction:指定动画的播放方向
        取值: 1、normal:正向播放,从0%~100%
                  2、reverse:逆向播放,从100%~0%
                  3、alternate:轮流播放,基数次数播放时,正向播放,偶数次数播放时,逆向播
    (7)animation-flill-mode(不属于简写里)
      作用:动画的填充模式,指动画在播放之前或播放之后的显示效果
      取值:none 默认值,无任何效果
               forwards 当动画播放完成之后,元素将保持在最后一个帧的状态上
                backwards 动画播放前,在延迟时间内,动画将保持在第一帧的状态上
                both 动画播放前后,分别应用在第一帧和最后一帧的状态上
    (8)animation-play-state
      作用:指定动画处于 播放状态 还是 暂停状态
      取值: paused 动画暂停
                 running 动画播放

原创粉丝点击