css3动画特效代码

css3动画特效代码

今天给大家介绍一下CSS3里面的动画特效代码以及我自己写的一个小案列。

一、过渡属性

  css3transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标划过、单击、获得焦点或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值

过渡属性需要触发事件,如:hover(鼠标划过事件)

1. transition-property:检索或设置对象中的参与过渡的属性

说明:属性值可以单独设置否个属性,也可以设置多个属性 widthheight; 还可以设置为all(默认值)代表所有属性

2. transition-duration:检索或设置对象过渡的持续时间

        

说明:设置过度时间(s, ms)    1s = 1000ms

3. transition-delay:检索或设置对象延迟过渡的时间

说明:设置延迟过度时间(s, ms)       属性值为正值的时候是延迟执行过渡效果,为负值的时候是提前只想过渡效果;

4. transition-timing-function:检索或设置对象中过渡的动画类型

说明:

linear                        匀速

ease(默认值) 逐渐慢下来

ease-in 加速

ease-out 减速

ease-in-out 先加速后减速

贝塞尔曲线网址:http://cubic-bezier.com/

复合式写法:transition:all 2s  1s linear ;

    transition: 2s  linear  1s   all  ;

说明:当使用复合式写法的时候,过度时间和延迟时间的顺序是不能互换的,第一个值代表过度时间,第二个值代表延迟时间;

注:哪个元素发生变形,就把过渡属性添加给谁;建议写给元素初始的效果里;

二、2D  transform

       transform翻译成汉语具有"变换"或者"改变"的意思。通过此属性具有非常强大的功能,比如可以实现元素的位移、拉伸或者旋转等效果最能体现transform 属性强大实力的是实现元素的3D变换效果。

 2D功能函数:

12D位移 translate()

说明:translate(tx)    当参数设置一个值的时候,代表水平方向的位移;

          translate(txty)     第一个值代表水平方向的距离,第二个值    垂直方向的距离;

              translate(txty,  tz)     第一个值代表水平方向的距离,第二个值    垂直方向的距离.第三个值   沿Z轴移动(3D

          translateX(tx)    指定方向设置位移    沿X轴移动

            translateY(ty)    指定方向设置位移    沿Y轴移动  

            translateZ(tz)    指定方向设置位移    沿Z轴移动   ( 3D)  

当属性值为正值时  代表的是向右或者向下移动,当为负值的时候  代表 向左或向上移动

说明:属性值可以用px   也可以用%(百分比大小的参照物是元素的宽高)

说明:translate()位移的效果和定位里的relative的效果是类似的,都是在当前位置进行位移的,对其元素的布局是没有影响的,原来的位置的保留的。

22D缩放scale()    

说明: 属性值代表的是倍数,是不用加单位; 0——1  之间是 缩小的效果, 大于1的时候都是放大效果;

           

          默认值  1

          scale( 1 )             代表水平和垂直都放大或者缩小    

          scale( 1,值2 )    1:  水平方向的缩放大小       值2  :垂直方向    

属性值可以设置为负值,但是很少用;

         scaleX(值)   水平方向的缩放比例

         scaleY(值)   垂直方向的缩放比例

         scaleZ(值)   Z轴方向的缩放比例       (3D

32D旋转让rotate()

   说明:  属性值的单位是度(deg

rotate()        沿着中心点旋转;     只能放一个属性值 ,正值:顺时针旋转;  负值: 逆时针旋转;

rotateX()      沿X轴旋转

rotateY()     沿Y轴旋转

rotateZ()      沿Z轴旋转    (3D

42D倾斜 skew()

说明:属性值的单位是度(deg) ;属性值为正值:向左 或向上倾斜      负值:向右或向下倾斜

skew( 1 ) 一个值的时候  代表 沿X轴倾斜

skew( 1,值2)        1:  沿X轴的倾斜     值2 :沿Y轴的倾斜

skewX()  沿X轴的倾斜   

skewY()  沿Y轴的倾斜

说明:元素通过 transform进行变形时,都是对其他元素的布局不产生影响的。不脱离文档流。

          变形时元素默认情况下都是沿着元素的中心点去变形的          

当使用复合式写法的时候,他们顺讯不同,会导致结果不一样,他们执行的顺讯是从后向前解析的。

transform: translate(100px) rotate(60deg);    

            5、原点设置属性:transform-origin

 定义:transform-origin是变形原点,也就是该元素围绕着那个点变形或旋转,该属性只有在设置了transform属性的时候起作用;

说明:transform-origin:值1    2  ;    值1: 水平    值2:  垂直

px      %       left   top   right  bottom ;

下面是我自己写的一个小案列:

 

这是代码,万花筒写轮眼大家可能都知道吧,就是火影忍者里面宇智波家族的高级瞳术。首先我们给他一个div作为容器包含里面的元素,然后设置div中心的ul为宽高相同的黑色圆形,再设置里面的三个li3个黑色椭圆,用定位属性定在ul的中心位置,最后给第三个li里面加一个span宽高相等的圆形,这样我们初始效果就完成了,这时我们设置划过状态,但鼠标划过divli的背景色改变为红色,第二个顺时针旋转120度,第三个逆时针旋转120度。

这时鼠标划过的显示结果:

 

大家赶快去试一下吧!

猜你喜欢

转载自www.cnblogs.com/yj888888/p/12442287.html
今日推荐