CSS3 过渡属性

CSS3 过渡
多年来, Web前端开发人员一直在寻求通过HTML和CSS实现一些动画交互效果, 而不再使用JavaScript 或Flash。 现在他们的愿望实现了。 CSS3除了给我们带来前面介绍的一些 特殊功能模块之外, 还为Web设计师添加了 一些动画功能模块。 可以通过:hover、:focus、:active、:checked 或者JavaScript 触发一个元素,这样,外观变化会显得更细腻,而不会让人感觉“ 一触即发”。例如悬浮修改链接色,在 CSS2.1中鼠标悬浮时, 立刻从一个颜色变成另一个颜色。 而在CSS3 中使用过渡功能, 鼠标悬浮时, 颜色在一定的时间内, 从一个颜色过渡到另一个 颜色,给用户更好、 更细腻的体验。
CSS3的过渡功能像是一种黄油, 通过一些CSS的简单动作触发样式平滑过渡。W3C标准中描述的transition功能很简单: CSS3的transition允许CSS的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发,并平滑地以动画效果改变CSS的属性值。
以往Web中的动画都是依赖于JavaScript和Flash实现,但原生CSS过渡在客户端上需要处理的资源少得多,从而显得更加平滑。 CSS3过渡与元素上的常规样式一起声明。只要目标属性更改,浏览器 就会应用过渡。除了使用JavaScript 触发动作外,在CSS中也可以通过一些伪类来触发, 如 :hover、:focus、:active、:target 和:checked等。 这很重要:无须在JavaScript中编写动画,只需要更改一个属性值并依赖浏览器来执行所有重要工作。 以下 是使用CSS创建简单过渡的步骤:
http:/ /www.iis7.com/b/wzjk/
1). 在默认样式中声明元素的初始状态样式。
2). 声明过渡元素最终状态样式, 比如悬浮状态。
3). 在默认样式中通过添加过渡函数, 添加一些不同的样式。
transition属性是一个复合属性,出于简洁性和便于维护考虑,过渡语法通常以简化的形式表达。
transition属性主要包含四个属性值:
·transition-property: 指定过渡或动态模拟的CSS属性。
·transition-duration: 指定完成过渡所需的时间。
·transition-timing-function: 指定过渡函数。
·transition-delay: 指定过渡开始出现的延迟时间。
指定过渡函数 transition-timing-function,transition- timing- function属性指定某种指代过渡“ 缓动函数”的属性。此属性可指定浏览器的过渡速度, 以及过渡期间的操作进展情况, 可以将某个值指定为预定义函数、阶梯函数或者三次贝塞尔曲线。
到目前为止,看到的ease、linear、ease-in、ease-out和ease-in-out等曲线函数非常一般,用于过渡动画中也不是十分精确。而现在制作一些动画需求越来越精确,需要定义一些更精确的函数。
CSS3 的transition中, 定义三次贝塞尔曲线的语法如右所示: cubic-bezier( P0, P1, P2, P3)
一个三次贝塞尔曲线由四个点控制曲线形状。每个点由水平和垂直两个值来确定, 也就是常说的由X和Y值确定。
这些点的值是小数或者百分比, 不过很少看到使用百分比来设置一个三次贝塞尔曲线点。而且它们的值都是一个0~1的小数。 不过有一点需要特别注意, 三次贝塞尔曲线中的P0和P两个点是无法设置的, 因为它们总是存在HTML中, 也就是说它们总会是( 0,0)和( 1,1)。
注意,三次贝塞尔曲线中的每个点值只允许0~1的值。
step()函数,step()函数用于把整个操作领域划成同样大小的间隔, 每个间隔都是都是相等的。 该函数还指定发生在开始或结束的时间间隔是否另外输出百分比(换句话说,如果输出的百分比为0%表示输入变化的初始点)。
step() 函数非常独特,它允许在固定的间隔播放动画。例如, 在 step() 函数图上可以看出, 动画属性比在0%处开始,涨到50%,动画结束时, 属性值达到100%( 也就是结束状态属性)。 并且在各个step() 函数中每个步骤在过渡动画中不够平滑
step(< integer>[,[ start| end]]?) step() 函数主要包括两个参数。
·第一个参数是一个数值< integer>, 主要用来指定step()函数间隔的数量, 此值必须是一个大于0的正整数。
·第二个参数是可选的, 是start或end, 如果第二个参数忽略, 则默认为end值。 其中step( 1, start)相当于step- start; step( 1, end)相当于step- end。
伪元素触发
使用transition 时, 常用鼠标悬浮(: hover) 来触发过渡。
为说明这与触发过渡的实际事件毫无关联, 也为强调状态变化的重要性, 下面提供了 一些触发过渡的其他方法。

  1. 使用:active “:active”伪类表示用户单击某个元素并按住鼠标按钮时显示的状态。
  2. 使用:focus“:focus”伪类通常会在元素接收键盘焦点时出现。文本输入框元素上将发生过渡, 且该元素得到焦点时会执行文本输入框元素宽度和背景色过渡。
    此处作为一个边点, 当对“: hover”伪类应用过渡时, 最好将“: focus”添加到选择器堆栈。 这样将能够丰富鼠标用户和键盘用户的体验。
  3. 使用:checked “:checked”伪类在发生以下状况时触发过渡。 文本框选中时,
  4. 媒体查询触发 触发元素状态变化的另一种方法是使用CSS3媒体查询( Media Queries)。
  5. JavaScript 触发 如果可以基于CSS的状态更改触发过渡, 自然可以通过 JavaScript做到这一点。
    隐式过渡 “隐式过渡”指的是当一个属性改变时引起另一个属性到一个属性的过渡。

原文地址:http://blog.51cto.com/13941970/2295814

时间: 2024-11-08 20:52:54

CSS3 过渡属性的相关文章

初探CSS3 - 过渡属性transition

CSS3的过渡能够为元素的变化提供更平滑.细腻的用户体验.比如在CSS2.1的时候,我们使用 :hover 伪类改变链接颜色时候,颜色会很生硬直接地由一种颜色变化到另外一种颜色.但是在使用CSS3的过渡属性之后,这种颜色的变化会更加生动细腻. 以下是创建过渡的基本步骤: 1,在默认样式中声明元素的初始状态样式 2,声明过渡元素的最终样式 3,在初始状态样式中添加过渡函数 CSS3的过渡属性是 transition ,transition是一个复合属性,简化的语法如下所示: transition:

【CSS3 transform属性和过渡属性详解】

CSS3transform属性详解 transform字面上就是变形,改变的意思. 在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix. 2D Transform 方法 translate() 根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动. rotate() 在一个给定度数顺时针旋转的元素.负值是允许的,这样是元素逆时针旋转. scale() 该元素增加或减少的大小,取决于宽度(X轴)和

CSS3动画属性

CSS3动画属性有哪些呢? 1.transition: 过渡: 特点:需要事件进行触发(鼠标事件触发)才会随时间改变其css属性 css3过渡属性: 1. transition-property:    检索或设置对象中的参与过渡的属性 2. transition-duration:    检索或设置对象过渡的持续时间 3. transition-delay: 检索或设置对象延迟过渡的时间 4. transition-timing-function: 检索或设置对象中过渡的动画类型 简写方法:

CSS3 常用属性(四)-- 过渡、动画

过渡--transition 过渡这个属性的作用是当元素的样式发生变化时,使用动画的效果进行变化.有了过渡属性后,很多情况下,写一些简单效果,将不需要再借助 javascript 去计算. transition  过渡属性简写,可以设置四个值 transition-property 过渡的CSS的名字,或是all transition-duration  从一个状态到另一个状态的的时间 transition-timing-function 过渡效果的动画曲线,默认easy,linear是匀速,c

css3中的transition渐变过渡属性的认识.

css3新增的属性transition可以让元素产生动画效果: 用法(兼容代码): -webkit-transition:property(属性样式) duration(过渡时间) timing-function过渡模式(5种过渡模式效果) -moz-transition:property(属性样式) duration(过渡时间) timing-function过渡模式(5种过渡模式效果) -o-transition:property(属性样式) duration(过渡时间) timing-fu

CSS3学习(CSS3过渡、CSS3动画)

CSS3过渡:transition属性--专门应对颜色.长度.宽度.位置等变化的过渡 通过CSS3,我们可以在不使用Flash和JavaScript的情况下,为当前某元素从某样式改变为某样式的时候添加过渡效果.我们仅仅使用到了一个transition属性,专门来写过渡从一个样式到另一个样式过渡时所花费的时间,以秒为单位.若时长不规定,默认为0,即没有过渡时间.在使用这个过渡效果的时候,我们使用了类似于超链接的l(link).v(visited).h(hover).a(active)样式的控制.此

CSS3 过渡

通过 CSS3,我们可以在不使用 Flash 动画或 JavaScript 的情况下,当元素从一种样式变换为另一种样式时为元素添加效果. 请把鼠标移动到下面的元素上: 浏览器支持 属性 浏览器支持 transition           Internet Explorer 10.Firefox.Chrome 以及 Opera 支持 transition 属性. Safari 需要前缀 -webkit-. 注释:Internet Explorer 9 以及更早的版本,不支持 transition

两点补充——CSS3新属性以及弹性布局

CSS3 新属性 一.[ CSS3新增属性前缀 ] 1.-webkit-:chrome/safari 2.-moz-:火狐 3.-mo-:IE 4.-o-: Opera 欧朋 二 .[CSS 长度单位] 1.px:像素.长度固定,表示分辨率占几个像素点: 2.%:表示相对于默认值的百分比: 3.em:长度与元素的字号挂钩. rem:长度与根元素的字号挂钩. 即与html 的 font-size 挂钩,若不设置,默认16px . [ em与rem区别 ] em与当前元素自身的font-size挂钩

CSS3 Transform属性详解

今天我们一起来学习有关于CSS3制作动画的几个属性:变形(transform).转换(transition)和动画(animation)等更高级的CSS3技术.本文主要介绍的是这三个属性之中的第一个──变形transform. Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一起来看看CSS3中transform的旋转rotate.扭曲skew.缩