css3动画

1.过度

① 参与过度的属性:多个属性之间用逗号分隔,如果没有设置参与过度的属性,默认值是All (所有属性都参与过度)。

  transition-property:width,height

② 参与过度的时间,必须写,单位 s ,ms。

  transition-duration:1s,2s

  时间多个值时,和参与过度的属性一一对应,逗号隔开。

③ 过度属性的位置,如果写在hover里,只有鼠标滑过有过渡效果,写给盒子本身,鼠标滑过和滑出都有过渡效果。

④ 过渡速度变化曲线。

   transition-timing-function:ease(默认值),linear(匀速),ease-in(先慢后快),ease-out(先快后慢),ease-in-out(两端慢,中间快)。

   贝塞尔曲线官网:https://cubic-bezier.com

⑤ 过渡延迟时间。

   transition-delay:1s.

   设置多个时间时,和参与过度的属性是一一对应的关系,如果只有一个值,所有时间都延迟相同时间。

⑥ 复合写法。

  transition : all 2s linear 1s;//所有属性都一样。

  transition:width 1s linear 0s,height 2s ease 1s,

使用复合写法过度时间必须写!!!

2.元素的变换,transform:

2D变换:

平移:translate(x,y)

缩放:scale()一个值同时缩放,两个值,第一个值X轴,第二个值Y轴。

旋转:rotate()单位deg,顺时针,正值,逆时针,负值。

倾斜:skew()单位deg,默认第一个值是X轴,第二个是Y轴。

复合写法:transform:translateX(100px) scale(2) skewX(15deg)

变化基准点:transform-origin: 单位:px  %  left  right  top  bottom  center。第一个值代表X轴,第二个Y轴,只有一个值另一个值默认居中。

3D变换:

 视距/景深  prespective  加给父元素或body  600px ~ 2000px取值;

代表眼睛到屏幕的距离 ,值越大,距离越远。目的让子元素保留近大远小的效果。

transform : rotateX(...deg)

transform : rotate3d(x,y,z,deg)x,y,z可取值0,1,-1。0:不旋转,1:顺时针旋转,-1:逆时针旋转。

transform-style : preserve-3d。加给父元素,让子元素保留3D效果。

3,关键帧动画:

定义动画:

@keyframs change{

from{}

to{}

}

调用动画:

animation-name:动画名字;

animation-duration:动画时间;

animation-timing-function:速度变化曲线;

animation-delay:动画延迟时间;

animation-interation-count:动画执行次数;(infinite:这是循环无线次;fill-mode: forwards==停在终点;不写回到原点)

animation-direction:动画方向;alternate(反向运动)

复合写法:anmation:name duration timing-function delay interation-count direction forwards

动画状态:animation-play-state:running=>执行状态;animation-play-state:paused=>暂停状态。

上一篇:【fade-transition 】加载


下一篇:10.4(MyPoint类)设计一个名为MyPoint的类