KHL 005 11-计算机-本职-前台 CSS3 动画

animation 动画效果组成

  1. 通过类似Flash动画中的关键帧来声明一个动画
  2. 在animation属性中调用关键帧声明的动画,从而实现一个更为复杂的动画效果

animation的子属性

  • animation-name : 主要用来指定一个关键帧动画的名字,这个动画名必须对应一个@keyframes规则。CSS加载时会应用animation-name指定的动画,从而执行动画。
  • animation-duration : 主要用来设置动画播放所需时间,一般以秒为单位
  • animation-timing-functoin : 主要用来设置动画的播放方式,与transition-timing-function类似
  • animation-delay : 主要用来指定动画开始时间,一般以秒为单位
  • animation-iteration-count : 主要用来指定动画播放的循环次数
  • animation-direction : 主要用赤指定动画的播放方向
  • animation-play-state : 主要用赤控制动画的播放状态
  • animation-fill-mode : 主要用来设置动画的时间外属性

animation 语法

 1 animation :
 2 [<animation-name> ||
 3 <animation-duration > ||
 4 <animation-timing-functoin > ||
 5 <animation-delay > ||
 6 <animation-iteration-count > ||
 7 <animation-direction > ||
 8 <animation-play-state > ||
 9 <animation-fill-mode>]
10 *

关键帧

@keyframes语法

 1 @keyframes IDENT{
 2     from {
 3         /* CSS 样式写在这里 */
 4     }
 5
 6     percentage {
 7         /* CSS 样式写在这里 */
 8     }
 9
10     to {
11         /* CSS 样式写在这里 */
12     }
13 }

其中 from 和 to 也可以换成 0% 和 100%,需要注意的是 0%的 ‘%’ 不能省略

其中IDENT就是一个动画名称,可以取一个任意定义的动画名称,当然语义化一点会更好。percentage是一个百分比值,用来定义某个时间段的动画效果,可以有多个。

animation 子属性详解

animation-name

  • IDENT : 是由@keyframes创建的动画名称,换句话说此处的IDENT需要和@keyframes中的IDENT一致,如果不一致则没有任何动画效果
  • none :默认值,可以用于覆盖任何动画

animation-duration

用于指定动画所持续的时间,也就是完成0%到100%一次动画所需要的时间,单位为s或ms

animation-timing-function

  • linear: 线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
  • ease: 平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 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)
  • step-start: 等同于 steps(1, start)
  • step-end: 等同于 steps(1, end)
  • steps([, [ start | end ] ]?): 接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。
  • cubic-bezier(, , , ): 特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内

animation-delay

用来定义动画开始播放的时间、是延迟还是提前等

animation-iteration-count

用来定义动画的播放次数

  • infinite : 无限循环
  • number : 具体次数

animation-direction

用来设置动画的播放方向

  • normal: 正常方向
  • reverse: 反方向运行
  • alternate: 动画先正常运行再反方向运行,并持续交替运行
  • alternate-reverse: 动画先反运行再正方向运行,并持续交替运行

animation-play-state

用来控制动画的播放状态

  • running: 运动
  • paused: 暂停

animation-fill-mode

定义动画开始之前和结束之后发生的操作

  • none: 默认值。不设置对象动画之外的状态
  • forwards: 设置对象状态为动画结束时的状态
  • backwards: 设置对象状态为动画开始时的状态
  • both: 设置对象状态为动画结束或开始的状态

CSS3动画示例

简单示例 1

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6
 7     <link rel="stylesheet" type="text/css" href="../assets/css/reset.css" />
 8
 9     <style type="text/css">
10
11         body{
12             padding: 30px;
13         }
14
15         @keyframes myfirst{
16             from{
17                 background-color: red;
18             }
19             to{
20                 background-color: yellow;
21             }
22         }
23         #one{
24             width: 200px;
25             height: 200px;
26             background-color: red;
27             animation: myfirst 5s;
28             animation-name: myfirst;
29             animation-duration: 5s;
30             animation-iteration-count: infinite;
31         }
32     </style>
33
34 </head>
35 <body>
36
37 <div id="one"></div>
38
39 </body>
40 </html>

其效果是div的颜色在红色与黄色之间不断变化

简单示例 2

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>Title</title>
 6
 7     <link rel="stylesheet" type="text/css" href="../assets/css/reset.css" />
 8
 9     <style type="text/css">
10
11         body{
12             padding: 30px;
13         }
14
15         #two-container{
16             position: absolute;
17             width: 800px;
18             height: 30px;
19             border: 1px solid red;
20             overflow: hidden;
21         }
22
23         @keyframes mytwo {
24             from{
25                 left: -100px;
26             }
27
28             to{
29                 left: 800px;
30             }
31         }
32
33         #two{
34             height: 100%;
35             width: 100px;
36             background: blue;
37             position: relative;
38             left: -100px;
39             animation-name: mytwo;
40             animation-duration: 5s;
41             animation-iteration-count: infinite;
42             animation-timing-function: linear;
43         }
44     </style>
45
46 </head>
47 <body>
48
49
50 <div id="two-container">
51     <div id="two"></div>
52 </div>
53
54 </body>
55 </html>

时间: 2024-10-20 03:53:17

KHL 005 11-计算机-本职-前台 CSS3 动画的相关文章

css3动画由浅入深总结

回到顶部 一:过渡动画---Transitions 一:过渡动画---Transitions 含义:在css3中,Transitions功能通过将元素的某个属性从一个属性值在指定的时间内平滑过渡到另一个属性值来实现动画功能. Transitions属性的使用方法如下所示: transition: property | duration  | timing-function | delay transition-property: 表示对那个属性进行平滑过渡. transition-duratio

你需要知道的CSS3 动画技术

译自:你需要知道的CSS3 动画技术 译自:What You Need To Know About Behavioral CSS 请尊重版权,转载须注明本站链接! 译序:本文译自Smashingmagazine,但是原文讲述的内容有些浅,也不是很完整,前端观察在翻译的前提下,增加了更多的更系统的内容.如有不足之处,欢迎指正补充. 随着网络的发展,浏览器具有更强的渲染更高级代码的能力,我们正逐步实现跨越所有平台和浏览器的目标.我们不但可以要花费更少的时间来确保我们的盒模型在IE6中看起来正常,而且

16款创建CSS3动画的jQuery插件

jQuery插件是用来扩展jQuery原型对象的方法. 本文搜集了用来为你的网站创建CSS3动画的一些jQuery插件. 1. jQuery Smoove Smoove 简化了CSS3转换效果,使得页面向下滚动时网页内容能有一种滑入的动效. 在线演示:http://wow.techbrood.com/fiddle/7 2. CSS3 Animate it 这个插件效果和Smoove类似. 3. WaitMe WaitMe 是用于创建加载CSS3动画的 jQuery 插件. 4. Stroll.j

css3动画导航实现

代码 1 <!DOCTYPE html> 2 <!-- saved from url=(0223)file:///C:/Users/user/AppData/Local/Temp/HZ$D.187.4185/HZ$D.187.4186/%E7%BE%A4%E5%8F%8B%E5%88%86%E4%BA%AB%E6%95%88%E6%9E%9C%E9%9B%86%E5%90%88/%E4%B8%80%E5%8F%B7%E5%88%86%E4%BA%ABcss3%E6%BB%91%E5%8A

CSS3动画理解与应用

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

(一)CSS3动画应用 - CSS3 实现 侧边栏展开收起

@keyframes 规则用于创建动画. @keyframes 中规定某项 CSS 样式,就能创建由当前样式逐渐改为新样式的动画效果 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果. 通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器: 规定动画的名称 规定动画的时长 animation animation 属性是一个简写属性,用于设置动画属性: animation-name:规定 @keyframes 动画的名称. animation-durat

被解放的GPU CSS3动画加速

概念 图形处理器( Graphics Processing Unit ) 专门用来处理在个人电脑.工作站或游戏机上图像运算工作 显卡的“心脏” 90%以上的新型台式电脑和笔记本型电脑拥有集成图形处理器,但是在性能上往往低于那些独立显卡. 按照类型来分,可以分为独立显卡GPU和集成绘图GPU. 独立显卡GPU 性能最高的一类绘图处理器是通过PCI-Express.PCI或AGP等扩展槽界面与主板连接的,而通常它们可以相对容易地被取代或升级(假设主板能支持升级).现在,仍然有少数显卡采用带宽有限的P

一个栗子上手CSS3动画

最近杂七杂八的事情很多,很多知识都没来得及总结,是时候总结总结,开启新的篇章- 本篇文章不一一列举CSS3动画的属性,若需要了解API,可前往MDN 在开始栗子前,我们先补补基础知识. css3动画分类: 补间动画 – 具有连贯性的动画   逐帧动画 – 使用steps过渡方式实现跳跃  animation常用属性及场景: animation: name duration timing-function delay iteration-count direction; 1. timing-fun

35个让人惊讶的 CSS3 动画效果演示

35个让人惊讶的 CSS3 动画效果演示 本文收集了35个惊人的 CSS3 动画演示,它们将证明 CSS3 Transform 和 Transition 属性的强大能力.CSS 是网页设计非常重要的一部分(基础教程qkxue.net),随着越来越多的浏览器对 CSS3 支持的不断完善(腾云科技ty300.com),设计师和开发者们有了更多的选择.如今,用纯 CSS 就可以实现各种各样很酷的效果,甚至是动画. 1. Pure CSS Coke Can 2. Colorful Clock 3. jQ