Advertisement

【Web前端】CSS3动画

阅读量:

CSS3提供了多种动画效果,并支持实现一些较为基础的动态展示。这些 animation 可以替代传统的方式如图片、Flash文件以及JavaScript脚本等多媒体资源。


@keyframes规则

该规则用于定义在 @keyframes 标签中指定的 CSS 样式参数。这些参数决定了从当前样式逐步过渡至新样式的动画效果。

复制代码
 @keyframes anim

    
 {
    
 from {background: red;}
    
 to {background: yellow;}
    
 }
    
  
    
  
    
 @-moz-keyframes anim /* Firefox */
    
 {
    
 from {background: red;}
    
 to {background: yellow;}
    
 }
    
  
    
 @-webkit-keyframes anim /* Safari 和 Chrome */
    
 {
    
 from {background: red;}
    
 to {background: yellow;}
    
 }
    
  
    
 @-o-keyframes anim /* Opera */
    
 {
    
 from {background: red;}
    
 to {background: yellow;}
    
 }
    
    
    
    
    代码解读

CSS3 动画

建议在 @keyframes 标签中创建动画时,请确保将其绑定到特定的选择器中。如果不这样做,则不会显示动画效果。

通过规定至少以下两项 CSS3 动画属性,即可将动画绑定到选择器:

  • 规定动画的名称
  • 规定动画的时长

把 "myfirst" 动画捆绑到 div 元素,时长:5 秒:

复制代码
 div

    
 {
    
 animation: anim 5s;
    
 -moz-animation: anim 5s;	/* Firefox */
    
 -webkit-animation: anim 5s;	/* Safari 和 Chrome */
    
 -o-animation: anim 5s;	/* Opera */
    
 }
    
    
    
    
    代码解读

什么是 CSS3 中的动画?

动画是使元素从一种样式逐渐变化为另一种样式的效果。

你可以改变任意多的样式任意多的次数。

请用百分比来规定变化发生的时间,或用关键词 "from" 和 "to",等同于 0% 和 100%。

0% 是动画的开始,100% 是动画的完成。

为了得到最佳的浏览器支持,你应该始终定义 0% 和 100% 选择器。

当动画为 25% 及 50% 时改变背景色,然后当动画 100% 完成时再次改变:

复制代码
 @keyframes anim

    
 {
    
 0%   {background: red;}
    
 25%  {background: yellow;}
    
 50%  {background: blue;}
    
 100% {background: green;}
    
 }
    
  
    
 @-moz-keyframes anim /* Firefox */
    
 {
    
 0%   {background: red;}
    
 25%  {background: yellow;}
    
 50%  {background: blue;}
    
 100% {background: green;}
    
 }
    
  
    
 @-webkit-keyframes anim /* Safari 和 Chrome */
    
 {
    
 0%   {background: red;}
    
 25%  {background: yellow;}
    
 50%  {background: blue;}
    
 100% {background: green;}
    
 }
    
  
    
 @-o-keyframes anim /* Opera */
    
 {
    
 0%   {background: red;}
    
 25%  {background: yellow;}
    
 50%  {background: blue;}
    
 100% {background: green;}
    
 }
    
    
    
    
    代码解读

全部评论 (0)

还没有任何评论哟~