在webapp引用开发中经常会用到css3动画效果,下面我们就一起探讨一下这个属性的使用。
在哪里定义动画效果?
css3动画一般通过鼠标事件或者说状态定义动画,通常我们可以用CSS中伪类和js中的鼠标事件来定义。js的事件也可以,比如click,focus,mousemove,mouseover,mouseout等等
transition的基本语法:
css3动画通过transition属性和其他css属性(颜色,宽高,变形,位置等等)配合来实现。
transition的语法:
transition:[ transition-property ] || [ transition-duration ] || [ transition-timing-function ] || [ transition-delay ]
当然这是简写,我们也可以完整的写:
transition-property : none | all | [ <IDENT> ] [ ',' <IDENT> ]*;
transition-duration : <time> [, <time>]*
transition-timing-function : ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>) [, ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(<number>, <number>, <number>, <number>)]*
transition-delay : <time> [, <time>]*
1.要变化的属性
transition-property:要变化的属性,比如元素变宽则是width,文字颜色要变色这是color;W3C给出了一个可变换属性的列表:
CSS属性 改变的对象
background-color 色彩
background-image 只是渐变
background-position 百分比,长度
border-bottom-color 色彩
border-bottom-width 长度
border-color 色彩
border-left-color 色彩
border-left-width 长度
border-right-color 色彩
border-right-width 长度
border-spacing 长度
border-top-color 色彩
border-top-width 长度
border-width 长度
bottom 百分比,长度
color 色彩
crop 百分比
font-size 百分比,长度
font-weight 数字
grid-* 数量
height 百分比,长度
left 百分比,长度
letter-spacing 长度
line-height 百分比,长度,数字
margin-bottom 长度
margin-left 长度
margin-right 长度
margin-top 长度
max-height 百分比,长度
max-width 百分比,长度
min-height 百分比,长度
min-width 百分比,长度
opacity 数字
outline-color 色彩
outline-offset 整数
outline-width 长度
padding-bottom 长度
padding-left 长度
padding-right 长度
padding-top 长度
right 百分比,长度
text-indent 百分比,长度
text-shadow 阴影
top 百分比,长度
vertical-align 百分比,长度,关键词
visibility 可见性
width 百分比,长度
word-spacing 百分比,长度
z-index 正整数
zoom 数字
该取值还有个强大的“all”取值,表示上表所有属性;
除了以上属性外,当然还有css3中大放异彩的css3变形,比如放大缩小,旋转斜切,渐变等等。
2.动画时间
transition-duration :动画执行的时间,以秒为单位,比如0.1秒可以写成”0.1s”或者”.1s”,注意后面有个“s”单位。
3.动画执行的计算方式
transition-timing-function :动画执行的计算方式,这里时间函数是令人崩溃的贝塞尔曲线,幸好css3提过了几个取值:
ease:逐渐慢下来,函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
linear:线性过度,函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 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:特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。
4.动画延迟
transition-delay:在动作和变换开始之间等待多久,通常用秒来表示(比如, .1s)。如果你不想延迟,该值可省略。
讲了这么多 我们看一个简单例子:
<ul class="test">
<li>背景色过渡</li>
<li>背景色过渡</li>
<li>背景色过渡</li>
<li>背景色过渡</li>
<li>背景色过渡</li>
</ul>
<style>
.test{}
.test li{background-color:#eee;
-moz-transition:background-color .5s ease-in;
-webkit-transition:background-color .5s ease-in;
-o-transition:background-color .5s ease-in;
-ms-transition:background-color .5s ease-in;
transition:background-color .5s ease-in;}
.test li:nth-child(1):hover{background-color:#bbb;} //鼠标滑过背景从#eee变#bbb
.test li:nth-child(2):hover{background-color:#999;} //鼠标滑过背景从#eee变#999
.test li:nth-child(3):hover{background-color:#630;} //鼠标滑过背景从#eee变#630
.test li:nth-child(4):hover{background-color:#090;} //鼠标滑过背景从#eee变#090
.test li:nth-child(5):hover{background-color:#f00;} //鼠标滑过背景从#eee变#f00
</style>
分享到:
相关推荐
纯css3 transition动画过渡属性制作鼠标悬停图片标题
纯CSS3 transition属性鼠标经过酷炫按钮动画特效
CSS3 transition动画属性制作鼠标悬停放大图片倾斜效果
CSS3 transition属性制作水平手风琴鼠标点击手风琴展...CSS3 transition属性制作水平手风琴鼠标点击手风琴展...CSS3 transition属性制作水平手风琴鼠标点击手风琴展...
CSS3 transition属性单页模板鼠标悬停导航菜单文字动画
css3 transition属性鼠标悬停图标按钮动画提示框效果
div css3 transition过渡属性制作水平图片手风琴 div css3 transition过渡属性制作水平图片手风琴 div css3 transition过渡属性制作水平图片手风琴
transition属性是一个复合属性,用于在一个属性中设置transition-property、transition-duration、transition-timing-function、transition-delay四个过渡属性。其基本语法格式如下: transition:property duration...
div css3 transform和transition属性鼠标滑过动画效果 div css3 transform和transition属性鼠标滑过动画效果
CSS3基础知识教程transition属性过渡动画效果等 CSS3基础知识教程transition属性过渡动画效果等
CSS3的制作动画的三大属性(Transform,Transition,Animation)下面介绍一下 Transition属性。transition属性是一个速记属性有四个属性:transition-property, transition-duration, transition-timing-function, and...
纯css3 transition鼠标悬停图片文字动画显示 纯css3 transition鼠标悬停图片文字动画显示
21种css3 transition属性鼠标悬停导航条动画效果
定义和用法transition 属性是一个简写属性,用于设置四个过渡属性:transition-propertytransition-durationtransition-timing-functiontransition-delay注释:请始终设置 transition-duration 属性,否则时长为 0,...
css3 transition图文动画显示特效是一款鼠标悬停在图片上动画显示文字描述CSS3特效。
W3C标准中对css3的transition这是样描述的:“css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并圆滑地以动画效果改变CSS的属性值...
CSS3中的Transition属性详解.docx
css3实现导航动画效果transform及transition css3实现导航动画效果transform及transition
CSS3中新增的transform属性,可以实现元素在变换过程中的过渡效果,实现了基本的动画。下面通过本文给大家介绍CSS3使用transition属性实现过渡效果,需要的朋友参考下本
div css3 transition属性鼠标悬停导航菜单折叠展..