CSS3 如何做无创建传统补间动画画

请留下您的手机号
我们即刻安排课程老师为您回电!
请留下您的联系方式,我们将主动给您回电!
第一时间为您安排就近试听!
我们的服务
常州雅思精讲班怎么样
课程级别入门级
培训周期1-2个月
培训时间电话咨询
咨询电话400-656-1080
常州市天宁区延陵西路19号嘉宏世纪大厦29楼
朗阁内部教材
常州雅思口语专项强化班雅思口语考试在雅思考试四项中时间是短的,只有10-15分钟,但是很多中国考生依然经常把它看成大的障碍。
常州朗阁雅思对历届考试学员的考试情况进行总结,总结出雅思学员在口语考试中经常出现以下问题,并针对这些问题进行针对性的培训。☆★雅思口语考试学员常见问题
部分考生性格内向,不善交流和表达,在口语考试时心理过度紧张,缺乏自信,面对临煞有介事的考官会大脑短路,语无伦次。
部分学员的英文能力有限,面对雅思口语考试中出现的新话题,以及考官愈发灵活的交流谈论,感到口语考试范围无边无际,无法抓住复习重点。
部分考生会把口语预测话题写成段子死背硬记,结果考试时不懂得与考官交流,只管猛背试题,往往是答非所问,难逃低分命运。
因为07年以来,中国广大雅思口语考试成绩低迷,造成了后续考生对雅思考试的恐惧心理。☆★培训内容
加强日常口语话题交流演练、考试模拟,通过名师一对一的情景模拟训练,提升学员考试心理素质的同时,提高学员口语水平并对口语出现的问题及时加以纠正;
帮助学员掌握口语对话交流的关键,不是一味的回答问题,而是能够就回答的问题进行适当的补充,并引导对话的方向向之间熟悉的方向开展;
帮助学员进行考前训练,缓解学员的考前雅思,常州朗阁雅思会针对每一个学员设定合适自己的考前辅导方案,达到事半功倍的效果;
增加学员在考试时候的自信心,增加临场经验,将自己所掌握的知识完全发挥出来。
通过雅思口语专项培训帮助广大参加雅思口语考试的学员获得高分。【特别提示】
常州朗阁雅思培训中心主要设置课程有:雅思考试培训,托福考试培训,SAT考试培训,英语四六级考试培训,德语培训,法语培训,本中心以诚实守信为根本原则,所有培训课程由多年实际考试教学的经验的专业老师任教确保每位学员考到直接理想的分数。&☆★学校简介朗阁教育集团旗下英语教育旗舰品牌。成立于1999年,是中国较大的新托福,雅思培训基地。总部位于上海,目前在上海、北京、南京、无锡、镇江、苏州、青岛、济南、广州、厦门、福州、杭州、温州、慈溪、宁波、成都、重庆、武汉、郑州、淄博、海口、长沙、西安、兰州等24个城市拥有至少50个校区,总教学面积超过80000平米,每年学员数量超过100000人,形成完善的全国教学服务网络。&朗阁严格执行25人小班化授课、中外教专职老师联合执教,采用了融入新考试信息的内部教参,确保了每个学员的学习成效。从海外考试领域到英语培训领域,朗阁培训中心一直致力于雅思(IELTS)、新托福(TOEFL iBT)、口语、企业团训的学术研究,先后出版近百套专业英语书籍。中心还荟集了上百位优秀中外雅思、新托福、口语等语言教育专家。并已经帮助数十万名考生在雅思、新托福、口语领域达到理想高分。成为英语培训领域领军品牌。☆★学校发展朗阁(Longre)教育是中国具有影响力及知名度的教育培训品牌之一。朗阁始终以帮助学员获得更好的教学体验和成绩为己任。今天,朗阁(Longre)教育 旗下拥有深耕雅思、新托福、新SAT等海外考试语言培训多年的朗阁培训、提供美国考试培训及个性化留美解决方案的智美教育、专注于德法西意等欧系语言定制培训课程的欧风教育、专注日韩语纯正之道的日韩道以及提供雅思托福线上教育的朗阁在线等五大教育品牌,同时,朗阁还经中国教育部批准,拥有正规留学中介资质,实现培训一体化服务。作为一家教育机构,朗阁(Longre)教育在教学研发、教学服务、教学标准等方面,都成为了教育培训行业的代表。明天,朗阁(Longre)教育将一如既往地提升自我,提升他人,提升社会价值!不断学习进取,努力创建全球教育品牌,打造国际化教育 !☆★教学效果朗阁雅思培训中心还拥有朗阁海外考试研究中心,是针对各类海外考试和教学进行研究的专业性研发机构。研发中心充分利用朗阁教育集团多年海外考试培训积累的教学资源,并依托一批专业研发人员和管理人员的丰富经验,从各类海外考试的动态发展、教学方法与教学材料设计、教师培训与认证、新产品研发、留学英语成绩评估等各方面展开工作。建设目标是力争在各类海外考试和教学研究方面处于同行业领先地位,并向朗阁培训中心提供各类海外考试教学活动或学术活动的全方位支持。在教学效果上,朗阁培训中心凭借25人小班授课、中外名师联合教学、专业保分承诺、个性化学习方案设计等先进的教学理念和鲜明的教学特色使得学员的雅思、新托福、口语高分通过率超过90%,在行业内遥遥领先。朗阁培训中心,还在国内率先通过SGS(国际3大认证机构)ISO9001质量管理体系认证。在教学研发、教学服务、教学标准等方面,已经当之无愧地成为了教育培训行业的标志性典范。☆★教学师资中心还荟集了上百位优秀中外雅思、新托福、口语等语言教育专家。并已经帮助数十万名考生在雅思、新托福、口语领域达到理想高分。成为英语培训领域领军品牌。 学校还拥有朗阁海外考试研究中心,是针对各类海外考试和教学进行研究的专业性研发机构。研发中心充分利用朗阁教育集团多年海外考试培训积累的教学资源,并依托一批专业研发人员和管理人员的丰富经验,从各类海外考试的动态发展、教学方法与教学材料设计、教师培训与认证、新产品研发、留学英语成绩评估等各方面展开工作。建设目标是力争在各类海外考试和教学研究方面处于同行业领先地位,并向学校提供各类海外考试教学活动或学术活动的全方位支持。在教学效果上,学校凭借25人小班授课、中外名师联合教学、专业保分承诺、个性化学习方案设计等先进的教学理念和鲜明的教学特色使得学员的雅思、新托福、口语高分通过率超过90%,在行业内遥遥领先。培训中心从事雅思考试及新托福、新SAT等北美国际升学考试语言培训,并为企业及高校量身定制各类英语团训课程,荟集优秀的英语教育老师。朗阁培训经过多年的学术积淀,将会继续积极深耕在语言培训行业。
常州雅思精讲班怎么样
  常州雅思精讲班怎么样?雅思(英语:IELTS),全称为国际英语测试系统(International English Language Testing System),是国际性英语标准化水平测试之一,是被许多国家所承认的一门英语标准考试。  雅思备考 这些知识你知道吗?  除了单词量这个基础之外,适当的练习也是必要的。一般建议买剑桥大学出版社的剑桥雅思系列练习。当然现在网络资源发达,也可以到网上下载。每一本书包含4套习题。1到4比较容易,之后的难度比较接近真实考试。对自己的英语有信心的话可以跳过1到4,直接从第5册开始做,但是如果前几册的阅读不能做到8分以上的话,我建议还是老老实实从册开始做起。在做习题的过程中要严格按照考试的要求,不要查单词,也不要超时,1小时就是1小时,不要做自欺欺人的事情,这样才能准确定位自己并且适应考试的节奏。做完之后不要就这么算了,要回过头解析这篇文章,看看哪里没弄懂,哪道题做错了,为什么错,是不认识单词还是没理解句式,抑或是搞错了逻辑关系。这一步很重要,具体的错误分析可以帮助你更好的理解雅思文章的逻辑和出题思路,更快的提高阅读能力。  雅思备考需要了解的经验技巧  将重点放在口语部分。好多人认为这是一种让你展示英语口才的考试,这是不正确的。如果在考试中,你说“Hello”,就已经足够凭此给你一个分数了。当然,这种考试是测试考生的英语应用能力的,这也意味着如果你想获得高分,交流是关键,仅仅记住一堆长句子是没用的。同样的,用一些深奥无比的术语,以此希望让考官敬畏你也是没有用处的。我经常用下面这个例子来向我的学生阐明我的观点。想象你身在英国,你正在沿街走进一幢建筑物,想着自己的事情,突然有人大喊:“别进去,那里有炸弹!”如果你不明白,你有两个选择,,你可以说“What do you mean?”或者你可以继续走,向那个家伙挥挥手,滑稽地笑着说“Good morning and have a nice day。”    今天对于“常州雅思精讲班怎么样?”的介绍就到这里了,想要了解更多请关注厚学网!学习,贵在坚持,持之以恒。英语学习不是一天就能学好的,需要有耐心,并且坚持下去。相信在不久的将来,零基础的你们也能学好。
文中图片素材来源网络,如有侵权请联系删除
课程选择:
您的姓名:
手机号码:
常州朗阁外语培训中心
☆★学校简介朗阁教育集团旗下英语教育旗舰品牌。成立于1999年,是中国较大的新托福,雅思培训基地。总部位于上海,目前在上海、北京、南京、无锡、镇江、苏州、青岛、济南、广州、厦门、福州、杭州、温州、慈溪、宁波、成都、重庆、武汉、郑州、淄博、海口、长沙、西安、兰州
咨询热线:
400-656-1080
同学免费申请
热门课程推荐
热/门/课/程
最/新/动/态js动态创建
&!DOCTYPE html&
&meta charset="utf-8"&
&title&dom Framework&/title&
var dom = function(s){
return document.getElementById(s)
dom.cssName = function (name){
var prefixes = ['', '-ms-','-moz-', '-webkit-', '-khtml-', '-o-'],
rcap = /-([a-z])/g,capfn = function($0,$1){
return $1.toUpperCase();
dom.cssName = function(name, target, test){
target = target || document.documentElement.
for (var i=0, l=prefixes. i & i++) {
test = (prefixes[i] + name).replace(rcap,capfn);
if(test in target){
return dom.cssName(name);
window.onload = function(){
var el = dom("test"),
css3transition = dom.cssName("transition");
el.style[css3transition] = "all 5s ease-in"
dom("start").onclick = function(){
el.style.width = "400px";
background:
&h3&CSS3 动画&/h3&
&div id="test"&
&button id="start" type="button"&开始测试&/button&
&/html& &!DOCTYPE html&
&meta charset="utf-8"&
&title&dom Framework&/title&
var dom = function(s){
return document.getElementById(s)
dom.cssName = function (name){
var prefixes = ['', '-ms-','-moz-', '-webkit-', '-khtml-', '-o-'],
rcap = /-([a-z])/g,capfn = function($0,$1){
return $1.toUpperCase();
dom.cssName = function(name, target, test){
target = target || document.documentElement.
for (var i=0, l=prefixes. i & i++) {
test = (prefixes[i] + name).replace(rcap,capfn);
if(test in target){
return dom.cssName(name);
window.onload = function(){
var el = dom("test"),
css3transition = dom.cssName("transition");
el.style[css3transition] = "width 5s ease-in,height 4s linear"
dom("start").onclick = function(){
el.style.width = "400px";
el.style.height = "200px"
background:
&h1&处理多个属性的渐变 &/h1&
&div id="test"&
&button id="start" type="button"&开始测试&/button&
/* 新锐浏览器也为此添加了一个事件,当渐变动画结束时,让我们清除渐变属性。不过,这个事件名,非常不规则,webkit系是webkitTransitionEnd,opera是oTransition,FF竟然是transitionend!它们与CSS属性那个大写开头的驼峰风格是不一样的(如WebkitTransition,OTransition,MozTransition)
var transitionEnd = (navigator.vendor && "webkitTransitionEnd") || ( window.opera && "oTransitionEnd") || "transitionend";
el.addEventListener(transitionEnd,function(){//IE10 pp3将会支持transition与transform
//http://blogs.msdn.com/b/ie/archive//native-html5-first-ie10-platform-preview-available-for-download.aspx
this.style.removeProperty(css3transition.replace( rupper, "-$1" ).toLowerCase());//css3transition即WebkitTransition等
  支持情况:
  firefox 4.0
  chrome 4.0+
  safari 3.1+
  opera 10.5+
  相关链接
  http://www.the-art-of-web.com/css/css-animation/
  http://dev.opera.com/articles/view/css3-transitions-and-2d-transforms/
  http://www.opera.com/docs/specs/presto23/css/transitions/*/
CSS3提供两种方式来实现动画,transition与animation。animation涉及自定义一种为“@keyframes”的东西,这个需要动用到insertRule太复杂了,因此本文跳过它。有人它为transform也算一种,但它是静态的,需要结合transition才能变成动态,因此也跳过。
  transition主要就是以下四个属性,后面跟着的是它们的初始值
  transition-property:
  transition-duration: 0s;
  transition-timing-function:
  transition-delay: 0s;
  transition-property的值可以为none,all,或指定上的属性名
  当前可进行补间的CSS属性(比MDC上的少,去掉许多私有属性与比较罕见的属性)
  transition-duration,动画的持续时间,其值为一个带单位的数值,单位可以为s与ms
  transition-delay:动画延迟多久开始.
  transition-timing-function:缓动公式,值为ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier(, , , )
  This keyword sets the easing function to cubic-bezier(0.25, 0.1, 0.25, 1.0).
  linear
  This keyword sets the easing function to cubic-bezier(0.0, 0.0, 1.0, 1.0).
  ease-in
  This keyword sets the easing function to cubic-bezier(0.42, 0.0, 1.0, 1.0).
  ease-out
  This keyword sets the easing function to cubic-bezier(0.0, 0.0, 0.58, 1.0).
  ease-in-out
  This keyword sets the easing function to cubic-bezier(0.42, 0.0, 0.58, 1.0).
  cubic-bezier
  Specifies a cubic bezier curve to use as the easing function. The four number values specify the P1 and P2 points of the curve as (x1, y1, x2, y2). All values must be in the range [0.0, 1.0] inclusive.
  但在JS操作它们时我们其中只需要transition就行了,由于这是浏览器商首先搞出来,因此都带着它们的前缀,如-ms-,-moz-等等,我们需要把它们改成驼峰风格才能调用,见下面的例子。
没有更多推荐了,jQuery和Css3实现的超级滚动触发视差动画效果 - SuperScrollorama - jQueryfuns
上传于 4年前|
最近更新于 1年前
请注意,这是一个功能强大的工具,并且拥有非凡的能力,能力越大责任越大。
SuperScrollorama 由 TweenMax 和 Greensock 补间引擎提供动力。
第一,链接到jQuery CDN ,然后嵌入 TweenMax.js 和 SuperScrollorama。下一步,启动 SuperScrollorama。把它作为一种控制器的动画。你添加补间和时间表,针对一个元素出现在视区中或在一个特定的滚动点。
当初始化的 SuperScrollorama 有几个你可能想要更改的选项。
$.superscrollorama({options})
vars: optional properties for the pin method (object): 可选属性:
isVertical我们垂直滚动 (true) 或水平 (false) 吗?-默认值: true
triggerAtCenter:动画触发器时各自元素的起源是在 scrollarea (true) 的中心。可以更改此这里要在顶部/左侧边缘 (false)-默认值: true
playoutAnimations:过去的动画滚动应发挥出 (true) 时或只是跳到各自的最后一帧 (假) 吗?
(并不影响动画哪里持续时间 = 0)-默认:true
反:如果动画应该颠倒过来 (true) 时滚动回或不设置全局标志做 (false)-默认值: true
$(document).ready(function() {
var controller = $.superscrollorama({
triggerAtCenter: false,
playoutAnimations: true
使用 addTween 方法来生成您滚动动画。
.addTween (目标、 补间动画、 持续时间、 反向的偏移量) 目标:滚动位置 (数量) 或元素 (字符串或对象)
补间动画: Greensock 动画补间对象
持续时间:滚动以像素为单位 (0 表示自动播放) 补间动画的持续时间
的偏移量:调整动画起始点
反向:禁用反向动画上的向上滚动 (可选)
在下面的示例中,该动画淡入,当滚动到视图。
controller.addTween('#fade', TweenMax.from($('#fade'), .5, {
opacity: 0
默认持续时间为 0,这意味着通过完全当达到其点滚动时才播放补间。您可以添加一个持续时间,而是将同步到滚动条位置的补间动画进度。一个补间动画,您可以创建多个补间的时间线。
如果您使用 TweenMax 或 TimelineMax 选项 {重复:-1} 动画将环路 indefinetly 的设置持续时间。
// parallax example
controller.addTween('#examples-parallax', (new TimelineLite()).append([TweenMax.fromTo($('#parallax-it-left'), 1, {
immediateRender: true
}), TweenMax.fromTo($('#parallax-it-right'), 1, {
immediateRender: true
top: -1250
})]), 1000 // scroll duration of tween
第四届参数是抵消,您可以使用来调整,可触发该动画的滚动点。
controller.addTween('#fade', TweenMax.from($('#fade'), .5, {
opacity: 0
}), 0, // scroll duration of tween (0 means autoplay)
200); // offset the start of the tween by 200 pixels
第 5 个参数是反向的你可以使用禁用反向动画。
controller.addTween('#fade', TweenMax.from($('#fade'), .5, {
opacity: 0
}), 200, false); // prevent backwards animation of the element
当动画是完全传递给补间的函数中。
controller.addTween('#fade', TweenMax.from($('#fade'), .5, {
opacity: 0
onComplete: function() {
alert('test')
您可以删除任何以前添加的补间使用 removeTween 方法。
.removeTween (目标、 补间动画、 重置) 目标:滚动位置 (数量) 或元素 (字符串或对象)
补间动画: Greensock 动画补间对象 ;如果未设置,所有补间的目标将被删除。(可选,默认值: 空)
重置:如果真正的补间将会重置到起始位置。(可选,默认值: true)
在下面的示例中,从"#fade"元素的所有补间是删除和重置。
controller.removeTween('#fade');
您可以使用 pin 方法别针元素、 做一系列的动画,然后断开它。
回调函数将调用一个布尔型参数,true 如果触发的一端 (底部) 的 pin,虚假的如果在他开始 (顶部点) 触发。
.pin var dur el) el:被寄予的元素 (字符串或对象)
dur:滚动 pin (以像素为单位) 的持续时间
var:针法 (对象) 的可选属性: 阿尼姆:针过程中发生的补间动画对象
的偏移量:调整针开始点
onPin:针开始回调函数
onUnpin:回调函数为 pin 的结尾
pushFollowers:决定是否以下元素应该被推下 (true) 或滚动过去 (false),默认值: true
controller.pin($('#examples-2'), 3000, {
anim: (new TimelineLite()).append(TweenMax.fromTo($('#move-it'), .5, {
left: -200,
immediateRender: true
})).append(TweenMax.to($('#move-it'), .5, {
})).append(TweenMax.to($('#move-it'), .5, {
})).append(TweenMax.to($('#move-it'), .5, {
如果您想要更改用于在运行时的固定元素的选项,你可以使用 updatePin 方法。例如当窗口大小或您的 pin 项的大小已更改了。它预计的.pin 方法,除非所有相同的参数,但该元素是可选的。
.updatePin var dur el) el:被寄予的元素 (字符串或对象)
dur:滚动 pin (以像素为单位) 的持续时间 (可选,默认值: 0)
var:针法 (对象) 的可选属性: 阿尼姆:针过程中发生的补间动画对象
的偏移量:调整针开始点
onPin:针开始回调函数
onUnpin:回调函数为 pin 的结尾
pushFollowers:决定是否以下元素应该被推下 (true) 或滚动过去 (false),默认值: true
controller.updatePin($('#examples-2'), null, {
offset: 200
您可以删除任何以前添加的针脚,使用 removePin 方法。
.removePin (el,重置) el:被寄予的元素 (字符串或对象)
重置:如果真正该元素将解除固定和补间将会重置到起始位置。(可选,默认值: true)
在下面的示例中,pin 是删除,但不是会重置。
重置 = false 也将意味着如果你叫它在针期间,该元素将保持固定。
controller.removePin('#examples-2', false);
有时您可能想要告诉 SuperScrollorama 更新所有元素,例如,当调整窗口的大小。在这里方法 triggerCheckAnim 很有用。
.triggerCheckAnim(immediately) 立即:如果 false 它将等待下一个 tickEvent 的 TweenMax (以节省性能) 如果将马上,做真正的更新
(可选,默认值: false)
$(window).resize(function() {
controller.triggerCheckAnim();
SuperScrollorama
.setScrollContainerOffset (x,y)
x: x 偏移量 scrollcontainer
y: x 偏移量 scrollcontaine
立即下载 ( 文件大小:0.28 M)
Mozilla Firefox
Google Chrome
也许你还喜欢
键盘快捷键:伴随HTML5而来的CSS3让前端大湿们可以用简单的CSS样式即可写出动画效果来,而在这之前,一提到动画我们可能会想到JavaScript,Flash,Java插件等。如果是用JavaScript那倒也不是很糟糕的事啦,但如果写出来的效果非要强迫客户端安装第三方插件才能显示,毕竟不是很理想。这也就是为什么谷歌会不遗余力地推广他所主导的开源项目 (Web Real-Time Communication),把实时通讯的功能都做进浏览器,像视频通话这样的高级应用直接在JavaScript里调用几个浏览器API即可实现!这在以前想都不敢想。
再加上HTML5将很多之前需要依赖外部程序或者需要程序员们写大量JS来实现的东西标准化了,一个目的就是丰富Web设计,彻底丢弃第三方插件,让浏览器干干净净。
扯远了,回到动画。
在CSS3中定义动画是件很方便的事情。原理有点像使用Adobe公司的Flash软件来制作动画。
我还记得那时我在把玩Flash时所学习到的简单Flash动画。比如定义好一个物体的开始位置及状态,0秒的时候一个红色50X50的矩形处于画面中央,再将画面定位于时间轴上3秒处,将矩形设为100X100黄色。再右键添加补间动画。这样一个简单的动画便完成了。
下面就是这么一个动画的CSS实现。
var demoContent='
像这样关于位移,颜色渐变,甚至旋转,3D效果等的动画,现在都可以用CSS来做了。
CSS中的@符号
首先我们来看一下CSS中的@符号。
当我首先看到这个东西的时候,完全搞不懂是什么意思。于是开始尝试去一探究竟。
请考虑这样一种情形,你想在Web页面使用设计师使用的一种字体,因为设计是那帮不懂Coding的平面设计师搞出来的,老板看了觉得还不错,剩下实现的问题就交给你了。因为这种字体不是很通用,所以用户电脑上有很大可能是没有装这一字体的,那就意味首页面在用户电脑上的呈现会不一致,页面找不到指定的字体会调用系统默认的字体。
比如下面我们在页面使用Adelle_Reg.otf字体。
通过打开查看可以得到Font name,然后基本我们会通过一句简单的CSS来搞定:
但由于我系统里并没有'Adelle Rg' 这样的字体,所以页面会是这样的
所以我们考虑把字体文件包含到CSS里去,换句话说把字体文件发送到客户端。于是实现要改,这时使用@font-face 来指定字体文件的路径,这个时候我们初次看到引入了一个@符号。
所以改过之后的代码如上图。
先通过@font-face定义了一个取名叫'customFont'的font face,会在后面使用到
然后再通过给需要的页面元素指定font-family 为刚才定义的customFont'
字体已经应用上且我们能够在Resource里面发现字体文件已经发送到了客户端浏览器。
从上面我们大致可以这样理解此种情况下的@符号,虽然不太正确(比如@import, @media),通过它定义了一个特殊场合下的变量,这里是定义字体,在动画里是定义动画关键帧,然后我们会在CSS代码的其他地方使用这个定义好的变量。
什么是关键帧。一如上面对Flash原理的描述一样,我们知道动画其实由许多静态画面组成,第一个这样的静态画面可以表述为一帧。其中关键帧是在动画过程中体现了物理明显变化的那些帧。
比如之前的例子中,元素div由50X50红色的大小变化到状态100X100 黄色的过程中,这一头一尾的两个状态起到了对动画定义的关键作用。所以这两个状态就是整个动画的关键帧。
@keyframes 定义动画关键帧
通过之前的胡说现在我们看到@keyframes就不会觉得这个@符号有多别扭了。我们使用它来定义动画的关键帧。
CSS代码中定义关键帧重要的两点是名称和时间点。
其中状态部分指定元素的样式,因此可以是各种你想要的CSS代码,颜色尺寸透明度旋转等。'from'指定了动画过程的开始状态,'to'指定了动画结束时元素的状态。所以整个动画也就是从from指定的开始状态变化到to指定的状态的过程。
假使我们已经创建好了一个HTML文档,其结构很简单只有一个用于呈现动画的div。
所以对于上面的例子,动画的定义大概是下面这个样子的:
定义的动画取名'example'
在'from'也就是动画开始时指定元素长50px宽50px,背景色为红色
在'to'也就是动画结束时指定元素长100px宽100px,背景色为黄色
对于使用webkit内核的浏览器比如Chrome,Safari需要使用-webkit-前缀,所以需要写两套代码,以保证在Chrome或Safari里能工作
当然对于状态的定义不局限于开始和结束两个时间点,我们可以指定一个动画过程中任何时间点元素的状态。下面是定义关键帧的另一种写法。
上面定义了整个动画过程中0%,50%,100%三个时间点元素的状态。比如我们定义了一个时长为10秒的动画,那么0%就是动画开始时0秒的时候,0%后面的代码指定元素在动画开始时是怎样的,然后50%也就是动画进行到5秒的时候,元素又是什么样子。最后100% 对于动画进行到10秒也就是动画结束时元素的状态。
因此用这种写法我们可以指定的元素状态数量没有限制,可以更精确地控制整个动画。
CSS3 animation属性
当我们使用@keyframes定义好了一个动画,它并不会执行产生任何效果,直到我们通过animation属性将动画应用到相应元素上。
对于 CSS3 animation 属性其完整的语法如下:
animation: name duration timing-function delay iteration-
name是使用@keyframes定义好的关键帧名称
duration从字面意思可知是指定动画持续时间
timing-function 指定动画以何种方式播放,具体指的是从元素的一个状态过渡到另一个状态所使用的方式,可用的值有linear,ease, ease-in, ease-out, ease-in-out, cubic-bezier(n,n,n,n)。每种方式的讨论超出了原计划,这里只是列出
delay指定一个延时让动画不立即播放
iteration-count 指定动画重复次数,可以指定一个数字,也可以使用'infinite'表示一直播放
direction指定动画是否反向播放或者交替着播放,可用的值有normal, reverse, alternate, alternate-reverse
其中name和duration 是必需的,如果不指定duration默认为0,也就是动画持续0秒,所以就无法看到动画效果。
在前面已经定义好了关键帧了,现在我们使用animation将其应用到相应元素上。
现在打开页面就会看到最上面那个动画效果了。
使用百分比指定关键帧的版本
上面介绍过通过百分比的形象我们可以指定动画过程中任何时间点时元素的状态,将上面的版本变为百分比版本是非常容易的事情。
我们只需把关键帧的定义由from to 改为想要的时间百分比即可。
比如开始的状态不改变,增加一个动画进行到50%时颜色为黄色大小为75X75,最后为绿色大小为100X100。
往复的动画
如果我们指定了direction为alternate的话,当动画播放到结尾时,它会以相反的方向回到动画开始的状态,然后一直这样交替播放。
有了上面的基本了解,我们可以写一些简单的动画了。但真正惊赞的CSS3动画是需要花一些功夫的,这里就不继续了,或许我会在下一篇中介绍一个例子。
Another working demo (请使用Chrome浏览器观看效果):
Reference:
阅读(...) 评论()
恭喜妳发现本彩蛋, happy coding
\(^___________^)/

我要回帖

更多关于 flash文字形状补间动画 的文章

 

随机推荐