2019独角兽企业重金招聘Python工程师标准>>>

1.@keyframes定义和用法

通过 @keyframes 规则,您能够创建动画。

创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式。

在动画过程中,您能够多次改变这套 CSS 样式。

以百分比来规定改变发生的时间,或者通过关键词 "from" 和 "to",等价于 0% 和 100%。

0% 是动画的开始时间,100% 动画的结束时间。

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

注释:请使用动画属性来控制动画的外观,同时将动画与选择器绑定。

2.@keyframes语法

@keyframes animationname {keyframes-selector {css-styles;}}

3.w3c上面的案例,多个样式的改变

<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation:mymove 5s infinite;
-moz-animation:mymove 5s infinite; /* Firefox */
-webkit-animation:mymove 5s infinite; /* Safari and Chrome */
-o-animation:mymove 5s infinite; /* Opera */
}@keyframes mymove
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}@-moz-keyframes mymove /* Firefox */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}@-webkit-keyframes mymove /* Safari and Chrome */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}@-o-keyframes mymove /* Opera */
{
0%   {top:0px; background:red; width:100px;}
100% {top:200px; background:yellow; width:300px;}
}
</style>
</head>
<body><p><b>注释:</b>本例在 Internet Explorer 中无效。</p><div></div></body>
</html>

CSS3的animation类似于transition属性,他们都是随着时间改变元素的属性值。他们主要区别是transition需要触发一个事件 (hover事件或click事件等)才会随时间改变其css属性;而animation在不需要触发任何事件的情况下也可以显式的随着时间变化来改变元 素css的属性值,从而达到一种动画的效果。这样我们就可以直接在一个元素中调用animation的动画属性,基于这一点,css3的 animation就需要明确的动画属性值,我们需要keyframes来定义不同时间的css属性值,达到元素在不同时间 段变化的效果。

给一个元素调用animation属性

.demo1 {width: 50px;height: 50px;margin-left: 100px;background: blue;-webkit-animation-name:'wobble';/*动画属性名,也就是我们前面keyframes定义的动画名*/-webkit-animation-duration: 10s;/*动画持续时间*/-webkit-animation-timing-function: ease-in-out; /*动画频率,和transition-timing-function是一样的*/-webkit-animation-delay: 2s;/*动画延迟时间*/-webkit-animation-iteration-count: 10;/*定义循环资料,infinite为无限次*/-webkit-animation-direction: alternate;/*定义动画方式*/}

===========================

自用:

/*定义旋转*/

@-webkit-keyframes rock{0%{ transform:rotate(0deg) }10%{ transform:rotate(3deg) }20%{ transform:rotate(-3deg) }30%{ transform:rotate(2deg) }40%{ transform:rotate(-2deg) }50%{ transform:rotate(1deg) }60%{ transform:rotate(-1deg) }70%{ transform:rotate(0deg) }100%{ transform:rotate(0deg) }}

/**给需要抖动选中的元素加上动画*/

.c_zongzi_box_rock{-webkit-animation:rock 2s infinite;}

infinite是无限的动画的意思  rock定义的-webkit-keyframes的名字,2s是动画的时间

transform-origin是动画变换的基点(参照点)

1、top left | left top 等价于 0 0 | 0% 0%

2、top | top center | center top 等价于 50% 0

3、right top | top right 等价于 100% 0

4、left | left center | center left 等价于 0 50% | 0% 50%

5、center | center center 等价于 50% 50%(默认值)

6、right | right center | center right 等价于 100% 50%

7、bottom left | left bottom 等价于 0 100% | 0% 100%

8、bottom | bottom center | center bottom 等价于 50% 100%

9、bottom right | right bottom 等价于 100% 100%

其中 left,center right是水平方向取值,对应的百分值为left=0%;center=50%;right=100%而top center bottom是垂直方向的取值,其中top=0%;center=50%;bottom=100%;如果只取一个值,表示垂直方向值不变

转载于:https://my.oschina.net/leonaLily/blog/488745

CSS3 @keyframes animate相关推荐

  1. css3 keyframes zoom,CSS3通过@keyframes创建动画

    本文主要和大家介绍了CSS3 @keyframes简单动画实现的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧,希望能帮助到大家. 定义: 通过 @keyfram ...

  2. css3 keyframes zoom,CSS3 @keyframes 规则 | w3cschool菜鸟教程

    CSS3 @keyframes 规则 实例 使一个div元素逐渐移动200像素: @keyframes mymove { from {top:0px;} to {top:200px;} } @-web ...

  3. css3 keyframes 取消动画,CSS3 @keyframes简单动画实现

    CSS3 @keyframes简单动画实现 定义: 通过 @keyframes 规则,能够创建动画. 创建动画的原理是,将一套 CSS 样式逐渐变化为另一套样式. 在动画过程中,可以多次改变这套 CS ...

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

    首先,"回到顶部"."用户反馈"这两个按钮是通过定位放在左下角上. (1)"回到顶部"的按钮只有当滚动条有出现下滑时才出现 (2)" ...

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

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

  6. css3 keyframes 取消动画,为什么我的CSS3动画使用@keyframes在每个百分比范围内停止几毫秒?...

    我想制作一个帆船动画.它有效,但它不是一个流畅的动画.它停止在我在@keyframes中做出的每个更改中.我正在使用transform:rotate(-5deg),然后更改为5deg以模拟波浪效果,同 ...

  7. 移动端banner css3(@keyframes )实现

    2019独角兽企业重金招聘Python工程师标准>>> 这个是我用webpack时的生产文件部分,为了方便观看,在页面引入了less和vue的cdn,需要复制的话方便看 注:cssr ...

  8. CSS3 - @keyframes

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

  9. 移动端banner css3(@keyframes )实现

    2019独角兽企业重金招聘Python工程师标准>>> 工作近2年,对于banner的做法有了一些想法和实践,从最开始的全用js控制到后来的半JS半css控制动画,从开始的只为了实现 ...

最新文章

  1. invalidate
  2. 用时间换才华:李开复给创业者的7条时间管理建议 【转载】
  3. JAVA怎么创建对象组_java – 如何根据特定字段创建一组有序的对象?
  4. TCP/IP协议示意图
  5. pku2524-----Ubiquitous Religions(初次接触并查集)
  6. L2-005 集合相似度-PAT团体程序设计天梯赛GPLT
  7. boost::sort模块实现整数排序与右移函子反向排序示例
  8. 网络安全:与 TCP 连接管理相关的网络攻击
  9. 调试U-Boot笔记(一)
  10. jframe透明_使JFrame透明
  11. c语言 子进程,子Shell和子进程
  12. 图像检索新方向,阿里提出区域检索算法|CVPR 2020
  13. MySQL text类型的最大长度
  14. Oracle 10g升级之--PSU 升级(续)
  15. 万能html5视频播放器安卓,XPlayer万能视频播放器
  16. 常用英文字体收集备用
  17. umeditor1.2.2 jsp版本更改图片上传路径的方法
  18. 基于JAVA HAPI包以树形结构实现可配置式 HL7消息接收与解析
  19. iris莺尾花matplotlib实验柱状图饼图直方图
  20. 网页编码与数据传递中的中文字符编码

热门文章

  1. 开始升级我的工作流系统
  2. 用Visual C#创建Windows服务程序
  3. 利用Apache的ab命令做Benchmark性能测试
  4. ATL::CStringA和std::string之间转换的一些误区
  5. 【Qt】Log4Qt(三)源码分析
  6. 【Qt】Qt再学习(九):并发 QtConcurrent、QFuture、QFutureWatcher
  7. 【Qt】QtCreator中自动补全注释
  8. Ruby之Enumerator类
  9. java解析五元组_pcap文件解析,并且按照五元组分类
  10. python vs javascript_Python“是”vs JavaScript===