css3动画(transition)属性探讨

在webapp引用开发中经常会用到css3动画效果,下面我们就一起探讨一下这个属性的使用。

在哪里定义动画效果? 
css3动画一般通过鼠标事件或者说状态定义动画,通常我们可以用CSS中伪类和js中的鼠标事件来定义。js的事件也可以,比如click,focus,mousemove,mouseover,mouseout等等

transition的基本语法: 
css3动画通过transition属性和其他css属性(颜色,宽高,变形,位置等等)配合来实现。 
transition的语法:

Java代码  

  1. transition:[ transition-property ] || [ transition-duration ] || [ transition-timing-function ] || [ transition-delay ]

当然这是简写,我们也可以完整的写:

Java代码  

  1. transition-property : none | all | [ <IDENT> ] [ ‘,‘ <IDENT> ]*;
  2. transition-duration : <time> [, <time>]*
  3. 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>)]*
  4. 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)。如果你不想延迟,该值可省略。 
讲了这么多 我们看一个简单例子:

Java代码  

  1. <ul class="test">
  2. <li>背景色过渡</li>
  3. <li>背景色过渡</li>
  4. <li>背景色过渡</li>
  5. <li>背景色过渡</li>
  6. <li>背景色过渡</li>
  7. </ul>
  8. <style>
  9. .test{}
  10. .test li{background-color:#eee;
  11. -moz-transition:background-color .5s ease-in;
  12. -webkit-transition:background-color .5s ease-in;
  13. -o-transition:background-color .5s ease-in;
  14. -ms-transition:background-color .5s ease-in;
  15. transition:background-color .5s ease-in;}
  16. .test li:nth-child(1):hover{background-color:#bbb;}  //鼠标滑过背景从#eee变#bbb
  17. .test li:nth-child(2):hover{background-color:#999;}  //鼠标滑过背景从#eee变#999
  18. .test li:nth-child(3):hover{background-color:#630;}  //鼠标滑过背景从#eee变#630
  19. .test li:nth-child(4):hover{background-color:#090;}  //鼠标滑过背景从#eee变#090
  20. .test li:nth-child(5):hover{background-color:#f00;}  //鼠标滑过背景从#eee变#f00
  21. </style>

css3动画(transition)属性探讨

时间: 2024-07-30 10:21:01

css3动画(transition)属性探讨的相关文章

css3的transition属性的使用

transition是将某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画效果.这个属性一般搭配:hover来使 下面看一个例子:鼠标放在div上,0.2s后将div元素的背景色用一秒的时间变成黄色,变化方式是linear 1 div{ background-color:red; transition:background-color 1s linear 0.2s;} 2 div:hover{ background-color:yellow;} <div>思思博士</di

css3动画-animation属性

在开始介绍Animation之前我们有必要先来了解一个特殊的东西,那就是"Keyframes",我们把他叫做"关键帧",玩过flash的朋友可能对这个东西并不会陌生.下面我们就一起来看看这个"Keyframes"是什么东西.前面我们在使用transition制作一个简单的transition效果时,我们包括了初始属性和最终属性,一个开始执行动作时间和一个延续动作时间以及动作的变换速率,其实这些值都是一个中间值,如果我们要控制的更细一些,比如说我要

css3动画transition详解

transition主要包含四个属性值:执行变换的属性:transition-property,变换延续的时间:transition-duration,在延续时间段,变换的速率变化transition-timing-function,变换延迟时间transition-delay.下面分别来看这四个属性值 一.transition-property 语法: transition-property : none | all | [ <IDENT> ] [ ',' <IDENT> ]*

CSS3动画 transition和animation的用法和区别

transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C   IE  -ms-  Chrome/Safari -webkit-   Firefoc -moz-   opera -o-  区别: transition是过度属性,需要用户自行触发,触发时间比如:点击,鼠标悬浮等 animation是动画属性,其不需要用户触发,网页加载完成后自动执行 使用: transation{过度属性 过度时间 动画类型 延迟时间} -o-transation{过

web前端入门到实战:css3动画 Transition

CSS transitions 提供了一种在更改CSS属性时控制动画速度的方法. 其可以让属性变化成为一个持续一段时间的过程,而不是立即生效的.比如,将一个元素的颜色从白色改为黑色,通常这个改变是立即生效的,使用 CSS transitions 后该元素的颜色将逐渐从白色变为黑色,按照一定的曲线速率变化.这个过程可以自定义. CSS transitions 可以决定哪些属性发生动画效果 (明确地列出这些属性),何时开始 (设置 delay),持续多久 (设置 duration) 以及如何动画 (

css3动画-transition

写法: transition: <过渡属性名称[color]> <过渡时间[1s]> <过渡模式[inline]>, <过渡属性名称> <过渡时间> <过渡模式>, ... 或者 transition: <过渡属性名称> <过渡时间> <过渡模式>; transition: <过渡属性名称> <过渡时间> <过渡模式> ... 或者可以单独分开书写: <过渡

CSS3动画 transition 过渡,宽度由中间向两边发生过渡

css .tapered_line{ width: 36px; height: 4px; background: #1e88e5; transition: width 3s; margin: 10px auto 0; } .main4 ul li:hover .tapered_line{ width: 220px; margin:10px auto 0; }

CSS3 动画效果总结【转】

CSS3添加了几个动画效果的属性,通过设置这些属性,可以做出一些简单的动画效果而不需要再去借助JavaScript.CSS3动画的属性主要分为三类:transform.transition以及animation. transform rotate设置元素顺时针旋转的角度,用法是:transform: rotate(x);参数x必须是以deg结尾的角度数或0,可为负数表示反向.scale设置元素放大或缩小的倍数,用法包括:transform: scale(a);                  

CSS3动画理解与应用

CSS3动画理解与应用 Transform:对元素进行变形:Transition:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画.但只有两个关键贞.开始,结束.Animation:对元素某个属性或多个属性的变化,进行控制(时间等),类似flash的补间动画.可以设置多个关键贞. Transition与Animation:transition需要触发一个事件 ,而animation在不需要触发任何事件的情况下也可以显式的随着时间变化来改变元 素css的属性值,从而达到

css3动画总结

CSS3添加了几个动画效果的属性,通过设置这些属性,可以做出一些简单的动画效果而不需要再去借助JavaScript.CSS3动画的属性主要分为三类:transform.transition以及animation. transform rotate 设置元素顺时针旋转的角度,用法是: transform: rotate(x); 参数x必须是以deg结尾的角度数或0,可为负数表示反向. scale 设置元素放大或缩小的倍数,用法包括: transform: scale(a);