在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`属性来创建鼠标经过时的酷炫按钮动画特效。`transition`是CSS3中一个强大的工具,它允许元素在不同状态间平滑过渡,为用户界面增添动态效果,提高用户体验。 ...
除了基本的transition属性,还可以结合其他CSS3属性如`transform`和`animation`,创建更复杂的动画效果。例如,`transform`可以用来进行2D或3D变换,如旋转、缩放、移动等;`animation`则可以定义一个完整的动画序列...
本文将深入探讨CSS3的transition属性以及如何创建过渡动画效果。 ### 1. Transition属性 Transition属性是一个复合属性,可以控制元素的样式改变过程,包括过渡的属性、持续时间、延迟和缓动函数。它的基本语法...
在本例中,我们将探讨如何使用CSS3 transition来创建鼠标hover按钮的动画特效。 1. **基本概念** - **过渡属性(transition-property)**:定义应用过渡效果的CSS属性。例如,你可以选择`width`、`color`或`...
在本文中,我们将深入探讨如何使用CSS3的`transition`属性来实现鼠标悬停时的图片文字动画效果。`transition`是CSS3中一个强大的工具,它允许元素在不同的状态之间平滑过渡,例如在鼠标悬停时改变颜色、大小或透明度...
本主题将深入探讨“div CSS3动画带有的按钮”这一概念,以及如何利用CSS3样式表属性创建动态、吸引人的按钮。 首先,让我们了解一下“div”元素。在HTML中,div是一个通用的容器标签,用于组织和布局页面内容。通过...
在本项目“CSS3 transition属性单页模板鼠标悬停导航菜单文字动画”中,我们将探讨如何利用`transition`属性来制作动态的导航菜单,当鼠标悬停在菜单项上时,菜单的文字将呈现生动的动画效果。 首先,`transition`...
CSS3的Transition属性是网页设计中用于创建平滑过渡效果的关键工具。它允许CSS属性值在特定时间内平滑地变化,创造出动态的动画效果。在鼠标点击、获得焦点、元素被点击或者任何属性改变时,Transition都可以触发...
本教程将深入探讨“div css3 transform和transition属性鼠标滑过动画效果”,这两个特性是实现动态交互效果的核心。 首先,`transform`属性允许我们对HTML元素进行二维或三维的变换,如旋转、缩放、移动和平移。它...
其中,`transition`属性是CSS3的一个重要特性,它允许我们为元素的各种属性变化添加平滑过渡效果。在这个场景中,我们将探讨如何使用`transition`属性来实现鼠标悬停时导航菜单的折叠展开效果。 `transition`属性...
本篇将深入探讨CSS3边框动画,帮助你掌握这一强大的视觉呈现工具。 ### 一、边框动画基础 CSS3中的`border`属性允许我们为元素定义边框的宽度、样式和颜色。通过结合`transition`和`animation`属性,我们可以创造...
1. **CSS3转换与过渡**:CSS3的transform属性允许元素进行旋转、缩放、移动或倾斜等变换,而transition属性则让这些变化过程平滑过渡。例如,在“3DCubeThatRotatesUsingArrowKeys”示例中,就是利用transform属性...
不过,对于更复杂的过渡效果,直接操作CSS3属性可能会有更大的灵活性。 结合使用CSS3的`transition`和jQuery,我们可以创建复杂的交互式动画,例如,当用户滚动页面时,元素可以平滑地淡入淡出,或者图片在加载时...
在本文中,我们将深入探讨如何使用CSS3的transition属性创建引人注目的按钮动画特效,同时结合JavaScript和jQuery,以及HTML5的基础结构,为网页增添交互性和动态视觉效果。 首先,CSS3的`transition`属性是实现...
在本主题“CSS3动画图标效果”中,我们将深入探讨如何利用CSS3来创建富有动态感的图标效果。 一、CSS3关键帧动画 CSS3的关键帧动画(@keyframes)是实现动态图标的基石。通过定义动画从开始到结束的不同状态,我们...
本案例中,我们探讨的是"css3模拟3D效果城市夜间行走动画特效",这是一种利用CSS3的特性来创建逼真的3D城市场景,并配以夜间行走动画的创新技术。 首先,CSS3中的3D转换是实现这种特效的关键。3D转换包括translate...
3. **颜色过渡与动画**:CSS3的`transition`属性可以实现属性值之间的平滑过渡,例如字体颜色和背景颜色的变换。当触发某个事件(如鼠标悬停)时,这些颜色可能就会按照预设的时间和方式过渡。 4. **动画控制**:`...
下面我们将深入探讨CSS3的transition属性及其在按钮动画中的应用。 **CSS3 Transition(过渡)属性** CSS3的transition属性允许我们在元素从一种样式变换到另一种样式时添加平滑的过渡效果。这包括改变颜色、尺寸...
另外,CSS3的过渡(transition)属性也可以用于增强动画的流畅性。当元素的某个属性值发生变化时,过渡属性可以使这个变化过程平滑地进行,而不是立即跳转到新状态。在这个特效中,可能需要对元素的透明度或尺寸应用...