网站首页 健康小知识 母婴教育 起名 运动知识 职场理财 情感生活 绿色生活 游戏数码 美容 特色美食 爱好

CSS3动画简介

栏目: 互联网 / 发布于: / 人气:2.71W

最初接触页面元素动画是jquery的animate函数,这个函数结合其他jquery方法基本可以满足各种动画需求。但随着css的快速发展,不用javascript同样也可以做出绚丽的动画效果。css3中可以设置动画效果的属性有两个:Transition和Animation,下面就简单介绍一些这两个属性的使用。

操作方法

(01)transition相对简单,只需要指定以下几个属性即可。transition-property: 参与过渡的属性,比如 height、width等css样式,所有样式用关键字“all”,没有样式需要过渡使用“none”。transition-duration: 过渡持续的时间单位是秒(s),比如 width从100px过渡到200排序需要的时间。transition-timing-function: 过渡的动画类型,有以下几种取值。linear:线性过渡,等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)。ease:平滑过渡,等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)。ease-in:由慢到快,等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)。ease-out:由快到慢,等同于贝塞尔曲线(0, 0, 0.58, 1.0)。ease-in-out:由慢到快再到慢,等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)。cubic-bezier(<number>, <number>, <number>, <number>):特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内。transition-delay: 动画延迟执行的时间。-------------------transition样式的写法---------------------transition同background属性一样有缩写和拆分两种方式,就是说你可以把每个属性都加到transition后,如 transition: border-color .5s ease-in .1s;也可以把这些属性拆分,分别设置在个属性之后,上边的缩写拆分后如下:transition-property: border-color;transition-duration: .5s;transition-timing-function: ease-in;transition-delay: .1s;如果需要对个样式设置过渡动画,可以用逗号分开,缩写如:transition: border-color .5s ease-in .1s,color .3s ease .2s;拆分写法如:transition-property: border-color, color;transition-duration: .5s, .3s;transition-timing-function: ease-in, ease;transition-delay: .1s, .2s;拆分写法中如果某个属性是多组共用的,则不需要分别设置,比如:transition-duration: .5s, .5s; ---> transition-duration: .5s;但是transition有几个很大的局限。(1)transition需要事件触发,所以没法在网页加载时自动发生。(2)transition是一次性的,不能重复发生,除非一再触发。(3)transition只能定义开始状态和结束状态,不能定义中间状态,也就是说只有两个状态。(4)一条transition规则,只能定义一个属性的变化,不能涉及多个属性。所以就诞生了animation属性,相对transition略显复杂,但是功能更强大。

(02)animation与transition有几个相同的属性,duration、timing-function、delay。animation-name:animation需要指定动画的名字,这个是用来在@keyframes中指定执行动画的样式。animation-durarion:动画的执行时间,单位s(秒)。animation-timing-function:动画类型,取值与transition相同。animation-delay:动画延迟时间,单位s(秒)。animation-iteration-count:动画执行的次数,这个属性就客服了transition局限中的第二条,取值可以是数字指定具体循环几次,也可以设置关键字“infinite”无限循环。animation-direction:动画在循环执行时是否反方向,取值“normal”正常方向、“alternate”正常与反向交替。animation-play-state:设置执行中动画的状态,取值“running”、“paused”。animation-fill-mode:设置动画执行时间之外的状态,取值“none”(默认,不设置)、forwards(动画结束时的状态)、“backwards”(动画开始时的状态)、“both”(开始或结束时的状态)。动画中的每个属性都介绍完毕之后,其实你应该还是一头雾水,这怎么可能产生动画,关键在于@keyframes中。----------------------------@keyframes-----------------------------给一个例子:@keyframes rainbow {from { background: #c00 }50% { background: orange }to { background: yellowgreen }}用百分比的形式表示一个动画周期中的各个状态,其中0%、100%可以分别用from、to表示,每个百分点的状态可以当做一个css class,可以设置多个样式哦,rainbow 就是animation-name的值。-------------------------------END------------------------------------至此CSS3的两种动画设置方式就简略的介绍完了。

CSS3动画简介
Tags:css3 动画