今天来给大家分享一下CSS3 @keyframes 规则!

  在你了解CSS3 @keyframes 规则时我先来给大家说说什么是css3中的动画

  

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

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

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

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

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

  当您在 @keyframes 中创建动画时,请把它捆绑到某个选择器,否则不会产生动画效果。

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

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

  注释:您必须定义动画的名称和时长。如果忽略时长,则动画不会允许,因为默认值是 0。

实例

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

  HTML:

      <div></div>

  CSS: 

    div

    {
    width:100px;
    height:100px;
    background:red;
     animation:myfirst 5s;
     -moz-animation:myfirst 5s; /* Firefox */
    -webkit-animation:myfirst 5s; /* Safari and Chrome */
    -o-animation:myfirst 5s; /* Opera */
    }   @keyframes myfirst
    {
     0% {background:red;}
     25% {background:yellow;}
    50% {background:blue;}
    100%
{background:green;}
    }
    
  2.这个例子是让一个正方形上下楼梯的一个动画效果,有兴趣的可以试试哦!
  
  html:
    <div id="box">
     <div id="div1"></div>
    <div id="div2"></div>
    <div id="div3"></div>
     <div id="div4"></div>
    </div>
  CSS:
    #box{
   position: relative;
  width: 600px;
  height: 600px;
   background: black;
   }
  #div1{
   position: absolute;
  width: 50px;
  height: 50px;
   background: red;
   right: 150px;
  bottom: 0;
  animation:yd 10s linear infinite alternate;
   }
  @keyframes yd { 0%{
transform: translate(0)
}
16%{
transform: translateY(-50px);
}
32%{
transform: translateY(-50px) translateX(50px);
}
48%{
transform: translateY(-100px) translateX(50px);
}
65%{
transform: translateY(-100px) translateX(100px);
}
82% {
transform: translateY(-150px) translateX(100px);
}
100%{
transform: translateY(-150px) translateX(150px);
}
   }
  #div2{
   bottom: 0;
  right: 0;
   position: absolute;
   width: 150px;
   height: 50px;
  background: yellow;
   }
   #div3{
   bottom: 50px;
   right: 0;
   position: absolute;
   width: 100px;
   height: 50px;gei
   background: yellow;
   }
   #div4{
   bottom: 100px;
   right: 0;
   position: absolute;
   width: 50px;
   height: 50px;
   background: yellow;
   } 在此我还给大家列出了 @keyframes 规则和所有动画属性:  
属性 描述 CSS
@keyframes 规定动画。 3
animation 所有动画属性的简写属性,除了 animation-play-state 属性。 3
animation-name 规定 @keyframes 动画的名称。 3
animation-duration 规定动画完成一个周期所花费的秒或毫秒。默认是 0。 3
animation-timing-function 规定动画的速度曲线。默认是 "ease"。 3
animation-delay 规定动画何时开始。默认是 0。 3
animation-iteration-count 规定动画被播放的次数。默认是 1。 3
animation-direction 规定动画是否在下一周期逆向地播放。默认是 "normal"。 3
animation-play-state 规定动画是否正在运行或暂停。默认是 "running"。 3
animation-fill-mode 规定对象动画时间之外的状态。 3

      想要了解更多快来多多关注我!

CSS3 @keyframes 规则的更多相关文章

  1. CSS3 @keyframes 规则以及animation介绍和各种动画样式说明

    一个好网站:http://www.jqhtml.com/ 如需在 CSS3 中创建动画,您需要学习 @keyframes 规则. @keyframes 规则用于创建动画.在 @keyframes 中规 ...

  2. CSS3 @keyframes 动画

    CSS3的@keyframes,它可以取代许多网页动画图像,Flash动画,和JAVAScripts. CSS3的动画属性 下面的表格列出了 @keyframes 规则和所有动画属性: 浏览器支持 表 ...

  3. css3 @keyframes、transform详解与实例

    一.transform 和@keyframes动画的区别: @keyframes动画是循环的,而transform 只执行一遍. 二.@keyframes CSS3中添加的新属性animation是用 ...

  4. animation css3动画与CSS3 @keyframes担配使用创建往复平缓动画

    通过 @keyframes 规则,您能够创建动画. 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式. 在动画过程中,您能够多次改变这套 CSS 样式. 以百分比来规定改变发生的时间,或者通 ...

  5. CSS3 @keyframes 用法(简单动画实现)

    定义: 通过 @keyframes 规则,能够创建动画. 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式. 在动画过程中,可以多次改变这套 CSS 样式. 以百分比来规定改变发生的时间,或 ...

  6. CSS3 - @keyframes

    语法 @keyframes animationname { keyframes-selector {css-styles;} } 值 描述 animationname 必需.定义动画的名称. keyf ...

  7. css3 @keyframes用法

    使用@keyframes规则,可以创建动画. 在动画的过程中,可以多次更改css样式的设定. 对于指定的变化:发生时用0%,或关键字“from”和“to”,这与0%和100%相同. 0%:开头动画. ...

  8. CSS3 keyframes动画实现弹跳效果

    首先,“回到顶部”.“用户反馈”这两个按钮是通过定位放在左下角上. (1)“回到顶部”的按钮只有当滚动条有出现下滑时才出现 (2)“用户反馈”按钮,用户刚打开时会抖动一下,引起用户的注意,然后才定住. ...

  9. CSS3 @keyframes 语法

    http://www.w3chtml.com/css3/rules/@keyframes.html <!DOCTYPE html><html lang="zh-cn&quo ...

随机推荐

  1. STL容器之优先队列(转)

    STL容器之优先队列 原地址:http://www.cnblogs.com/summerRQ/articles/2470130.html 优先级队列,以前刷题的时候用的比较熟,现在竟然我只能记得它的关 ...

  2. Azure Event Bus 技术研究系列1-Event Hub入门篇

    前两个系列研究了Azure IoT Hub和Azure Messaging.最近准备继续研究Azure Event Bus,即Azure的事件中心.首先, Azure Event Hub的官方介绍: ...

  3. Ajax理解总结

    前端开发拿数据页面实时更新是离不开Ajax这个技术的 AJAX即"Asynchronous Javascript And XML"(异步JavaScript和XML),是指一种创建 ...

  4. [刷题]算法竞赛入门经典(第2版) 4-2/UVa201 - Squares

    书上具体所有题目:http://pan.baidu.com/s/1hssH0KO 代码:(Accepted,20 ms) #include<iostream> #include<cs ...

  5. Android GreenDAO3.0——介绍

    引言 最近,学东西比较零散,各种知识混杂,于是记下学习记录,免得又忘了. 官方网址:http://greenrobot.org/greendao/documentation/introduction/ ...

  6. Jdk1.6 JUC源码解析(6)-locks-AbstractQueuedSynchronizer

    功能简介: AbstractQueuedSynchronizer(以下简称AQS)是Java并发包提供的一个同步基础机制,是并发包中实现Lock和其他同步机制(如:Semaphore.CountDow ...

  7. php 知识点 --个人笔记

    ##2015-09-06 为防止用户看到错误信息,而出现的不友好界面.故一般性会在php.ini里设置:display_errors = Off;不过在开发的时候,我们有时候需要打开错误信息.这时候, ...

  8. Day1-用户输入及字符串格式化输入

    1.用户输入--input和getpass函数 2.字符串的格式化 ############################################# 一.用户输入--input()函数 #! ...

  9. 比较容易理解的---原生js瀑布流

    最近一直在恶补基础JS H5 CSS3的基础知识 关于这个瀑布流: 本来打算看着教程来做的. 不过 感觉理解起来有点复杂. SO, 自己参考教程默写了一个.. 目前我所接触过的瀑布流布局分为2大类 主 ...

  10. html学习笔记 - 标签

    单标签 : <!DOCTYPE html> 解析类型标签 <!-- xxx --> 注释标签 <br /> 换行标签 <hr /> 分割线标签 < ...