• css3动画


    css3的动画支持大多数浏览器,但最好还是加-webkit-animation等属性,

    IE9以及以前的版本并不支持。

    animation属性是一个简写属性,用于设置动画的属性;

    animation-name          动画名称(自己取的名称)

    animation-duration        规定动画完成一次周期所花费的时间,默认是0.  

    animation-timing-function    动画的速度曲线,默认是"ease"(其他常用值:ease-in,加速;ease-out,减速;ease-in-out,加速然后减速)

    animation-delay         动画何时开始,默认0.(如1秒就是'1s',0.5秒就是0.5s或者.5s)

    animation-iteration-count     动画迭代计数,默认1(动画的重复次数,设infinite为无数次)

    animation-direction       规定动画是否在下一期逆向地播放.默认不逆向“normal”(逆向alternate)

    animation-play-state      规定动画是否正在运行或暂停,默认是“running”

    animation-fill-mode       规定对象动画时间之外的状态。

    animation: a .5s forwards;  animation:缩写 a 动画名字  .5s动画时间  forwards动画在完成后保留最后一个动画

    要记得添加动画宽高,可以使用图片与相对定位,绝对定位。


    动画还需要一个关键帧来控制,需要重新用一个css3规定动画属性编写

    例如animation-mymove那么后面名字就是用来连接帧的

    @keyframes  mymove前面的@就是用来声明属性,后面mymove即可连接在一起。

    前面都是属性,它默认的属性值为none,0并且无继承行的。

    @keyframes mymove{

    from{background:red;}

    to{background:yellow}

    }

    @keyframes  mymove属性,它的属性值里面有几种方法。

    这里from是开始,它的属性值是红色。

    to是结束,它的属性值是黄色,

    animation-duration,设置了时间。记得设置宽高才看得见效果

    然后会发现它会从红到黄产生一个动画。


    什么是css3中的动画?

    动画是使元素从一种样式逐渐变化为另一个样式的效果。

    您可以改变任意多的样式任意多的次数。

    用百分比来规定变化发生的时间,或用关键词from和to,等同于0%和100%。

    0%是动画的开始,100%是动画的完成。

    为了得到最佳的浏览器支持,您应该始终定义0%和100%选择器。

    @keyframes mymove{

    0%{background:red;}

    25%{background:yellow;}

    50%{background:blue;}

    100%{background:green;}

    }

    以上只是改变了背景色,如需改变位置的话如下:

    @keyframes mymove{

    0%{background:red; left:0px; top:0px;}

    25%{background:yellow;left:200px; top:0px;}

    50%{background:blue; left:200px; top:200px}

    75%{background:red; left:0px; top:200px;}

    100%{background:green;left:0px; top:0px;}

    }

    0%的时候背景是红色,位置保持不变。

    25%的时候背景是黄色,离左200px,上为0.

    50%的时候背景是蓝色,离左200px,离上200px.

    75%的时候背景是红色,左为0,离上200px.

    100%的时候背景绿色, 左为0,上为0.回到了原点了。 


    transition属性是一个简写属性用于设置4个动画过渡属性。

    transition-property:设置那些属性进行过渡/分别有(,height:,border-radius:;)列表以逗号隔开

    transition-duration:完成过渡动画的效果时间,默认是0

    transition-timing-function:设置动画的缓动效果,默认是ease(逐渐变慢)。

    (其他常用值:ease-in,加速;ease-out,减速;ease-in-out,加速然后减速。)

    transition-delay:设置动画开始的延迟时间,默认是0;

    缩写是:transition:all 1s ease-in 1s; all指的是全部的宽高等属性

    transition的功能,使css的属性值在一定的时间内平滑地过渡。这种效果可以在鼠标点击、

    划过、获得焦点或对元素任何改变中触发,并圆滑地以动画效果改变css属性值。


    变形transform

    transform属性向元素应用2D或3D转换。该属性允许我们对元素进行:旋转、缩放、移动、倾斜。

    transform参数:

    rotate(角度值):旋转 (可用正负极为数字单位deg)

    translate(x,y):移动  (如只需要移动一个轴为设置translateX(设置为大写X,Y,Z)X,Y为2D转换。

    Z为3D转换,需要3D转换设置为translate3d(正负数都可以);

    transform-style:preserve-3d;父级元素声明为3d视图;

    scale(x,y):缩放  (scale(1.5)x轴与y轴同时放大1.5倍. scale(1,0.5)x轴不变,y轴缩放0.5倍)

    skew(x,y):扭曲  (如只需要一个轴扭曲倾斜skewX,skewY只沿着X,Y轴角进行扭曲)

    matrix(a,b,c,d,e,f):矩阵把所有的2d转换方法结合在一起,需要6个参数,包含数学函数,允许我们旋转,缩放,移动,以及扭曲。(2D转换有6个值的矩阵,3D则有16个值的4X4矩阵)

    例如translate:matrix(0.866,0.5,-0.5,0.866,0,0)

    perspective:为3d转换元素定义透视视图。  

     改变元素基点transform-origin:x,y;它的作用是改变transform动作的基点(中心点),

    如需要改变单一的轴数 transform-origin:x-axis(单位为left,center,right,length,%)

    y轴也是一样的写法,但z轴的单位只有length


    box-shadow对象阴影

    一语法:{box-shadow:[inset] x-offset  y-offset   blur-radius  spread-radiuscolor

    语法:box-shadow:投影方式(inset) x轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色

    可以使用一个或多个投影,如果使用多个投影时必须要用逗号,分开。

    另外,还可以通过inset来设置对象的内阴影。不设置inset就是默认的外阴影。

    text-shadow是给文本添加阴影效果。box-shadow是给元素添加阴影效果。

    阴影类型:此参数可选。如不设值,默认投影方式是外阴影;如取其唯一值“inset”,其投影为内阴影;

    X-offset:阴影水平偏移量,其值可以是正负值。如果值为正值,则阴影在对象的右边,其值为负值时,阴影在对象的左边;

    Y-offset:阴影垂直偏移量,其值也可以是正负值。如果为正值,阴影在对象的底部,其值为负值时,阴影在对象的顶部;

    阴影模糊半径:此参数可选,,但其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊;

    阴影扩展半径:此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值时,则缩小;

    阴影颜色:此参数可选。如不设定颜色,浏览器会取默认色,但各浏览器默认取色不一致,特别是在webkit内核下的safari和chrome浏览器下表现为透明色,在Firefox/Opera下表现为黑色(已验证),建议不要省略此参数。


  • 相关阅读:
    HTTPS安全超文本传输协议
    前端性能监控工具
    跨域:跨域及解决方法
    源码安装nginx
    浏览器工作原理(四):浏览器事件解读
    浏览器工作原理(三):js运行机制及Event Loop
    前端性能优化:gzip压缩文件传输数据
    Vue源码学习(零):内部原理解析
    netsh命令操作ipsec
    netsh命令操作防火墙
  • 原文地址:https://www.cnblogs.com/liang1/p/4956731.html
Copyright © 2020-2023  润新知