animation-name

属性指定应用的一系列动画,每个名称代表一个由@keyframes定义的动画序列

值:
none
特殊关键字,表示无关键帧。
keyframename
标识动画的字符串

animation-nanme:move;

animation-duration属性指定一个动画周期的时长。
默认值为0s,表示无动画。


一个动画周期的时长,单位为秒(s)或者毫秒(ms),无单位值无效。
注意:负值无效,浏览器会忽略该声明,但是一些早起的带前缀的声明会将负值当作0s

 animation-duration: 3s;

animation-timing-function属性定义CSS动画在每一动画周期中执行的节奏。
对于关键帧动画来说,timing function作用于一个关键帧周期而非整个动画周期,即从关键帧开始,到关键帧结束。

动画的默认效果:由慢变快再变慢

linear:线性过渡,等同于贝塞尔曲线(0,0,1,1)
ease:平滑过渡,等同于贝塞尔曲线(0.25,0.1,0.25,1.0)
ease-in:由慢到快,等同于贝塞尔曲线(0.42,0,1,1)
ease-out:由快到慢,等同于贝塞尔曲线(0,0,0.58,1)
ease-in-out:由慢到快再到慢,等同于贝塞尔曲线(0.42,0,0.58,1)
cubic-bezier(1,1,2,3)

  /*           运动线性*/
animation-timing-function:linear;

steps(n,[start|end])
传入一到两个参数,第一个参数意思是把动画分成 n 等分,然后动画就会平均地运行。
第二个参数 start 表示从动画的开头开始运行,相反,end 就表示从动画的结尾开始运行,
默认值为 end。

animation-delay:3s定义动画开始前等待的时间,以秒或毫秒计(属于动画外的范畴)

值:
<time>
从动画样式应用到元素上到元素开始执行动画的时间差。该值可用单位为秒(s)和毫秒(m s)。如果未设置单位,定义无效

           /*  运动缓存时间*/
animation-delay: 3s;

animation-iteration-count: infinite;

定义了动画执行的次数(属于动画内的范畴)


infinite
无限循环播放动画.
<number>
动画播放的次数 不可为负值.

animation-direction:

定义了动画执行的方向


normal
每个循环内动画向前循环,换言之,每个动画循环结束,动画重置到起点重新开始, 这是默认属性。
alternate
动画交替反向运行,反向运行时,动画按步后退,同时,带时间功能的函数也反向, 比如,ease-in 在反向时成为ease-out。计数取决于开始时是奇数迭代还是偶数迭 代
reverse
反向运行动画,每周期结束动画由尾到头运行。
alternate-reverse
反向交替, 反向开始交替

              /* 运动方向*/
animation-direction:reverse;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: ;
padding: ;
}
#wrap{
position: relative;
margin: 200px auto;
width: 300px;
height: 300px;
border: 1px solid;
}
#test{
position:absolute;
left:%;
top: %;
/* transform: translate3d(-50%,-50%,0);*/
margin-left: -50px;
margin-top: -50px;
width: 100px;
height: 100px;
background: red;
border-radius:%;
/* 定义动画名称*/
animation-name:move;
text-align: center;
line-height: 100px;
/*定义动画运动到结束时间*/
animation-duration: 8s;
/* 运动线性*/
animation-timing-function:linear;
/* 运动缓存时间*/
animation-delay: 3s; /*动画内的属性*/
/* 运动次数*/
animation-iteration-count: infinite;
}
/* 运动方向*/
animation-direction:reverse;
@keyframes move{
from{transform:rotate(0deg);}
to{transform:rotate(360deg);}
} </style>
</head>
<body>
<div id="wrap">
<div id="test"></div>
</div>
</body>
</html>

animation-fill-mode:forwards;

* backwards:from之前的状态与form的状态保持一致
* forwards:to之后的状态与to的状态保持一致
* both:backwards+forwards

    animation-fill-mode: both;
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css"> *{
margin: ;
padding: ;
} #wrap{
position: relative;
margin: 200px auto;
width: 300px;
height: 300px;
border: 1px solid;
}
#test{
position: absolute;
left: %;
top: %;
/*transform: translate3d(-50%,-50%,0);*/
margin-left:-50px;
margin-top: -50px;
width: 100px;
height: 100px;
background: pink;
text-align: center;
font: 20px/100px "微软雅黑"; /*动画内的属性*/
animation-name: move;
animation-duration:3s ;
animation-timing-function: linear;
/*反转的是关键帧和animation-timing-function*/
animation-direction:normal;
/*动画外的属性*/
animation-delay:1s; /*只作用于动画内的属性*/
/*重复的是关键帧*/
animation-iteration-count: ; /*元素在动画外的状态 *
* backwards:from之前的状态与form的状态保持一致
* forwards:to之后的状态与to的状态保持一致
* both:backwards+forwards
* */ animation-fill-mode: both;
animation-play-state: running;
} @keyframes move{
from{
transform: translateY(-100px);
}
to{
transform: translateY(100px);
}
} #wrap:hover #test{
animation-play-state: paused;
}
</style>
</head>
<body>
<div id="wrap">
<div id="test">邱海峰</div>
</div>
</body>
</html>

css---动画封装的更多相关文章

  1. amazeui学习笔记--css(常用组件15)--CSS动画Animation

    amazeui学习笔记--css(常用组件15)--CSS动画Animation 一.总结 1.css3动画封装:CSS3 动画封装,浏览器需支持 CSS3 动画. Class 描述 .am-anim ...

  2. CSS 动画一站式指南

    CSS 动画一站式指南 目录 CSS 动画一站式指南 1. CSS 动画 1.1 变换 1.1.1 变换属性介绍 1.1.2 变换动画实践 1.2 过渡 1.2.1 过渡属性介绍 1.2.2 过渡动画 ...

  3. 梅须逊雪三分白,雪却输梅一段香——CSS动画与JavaScript动画

    CSS动画并不是绝对比JavaScript动画性能更优越,开源动画库Velocity.js等就展现了强劲的性能. 一.两者的主要区别 先开门见山的说说两者之间的区别. 1)CSS动画: 基于CSS的动 ...

  4. 获取元素计算后的css样式封装

    获取元素计算后的css样式封装: function getCss(obj,attribute) { if(obj.currentStyle) { return obj.currentStyle[att ...

  5. Css 动画的回调

    在做项目中经常会遇到使用动画的情况.以前的情况是用js写动画,利用setTimeout函数或者window.requestAnimationFrame()实现目标元素的动画效果.虽然后者解决了刷新频率 ...

  6. 【译】css动画里的steps()用法详解

    原文地址:http://designmodo.com/steps-c... 原文作者:Joni Trythall 我想你在css 动画里使用steps()会和我一样有很多困惑.一开始我不清楚怎样使用它 ...

  7. css动画属性性能

    性能主要表现:流量.功耗与流畅度 在现有的前端动画体系中,通常有两种模式:JS动画与CSS3动画. JS动画是通过JS动态改写样式实现动画能力的一种方案,在PC端兼容低端浏览器中不失为一种推荐方案. ...

  8. Css动画形式弹出遮罩层,内容区上下左右居中于不定宽高的容器中

    <!DOCTYPE html> <html> <head> </head> <body id="body"> <! ...

  9. css动画与js动画的区别

    CSS动画 优点: (1)浏览器可以对动画进行优化.   1. 浏览器使用与 requestAnimationFrame 类似的机制,requestAnimationFrame比起setTimeout ...

  10. CSS动画与GPU

    写在前面 满世界的动画性能优化技巧,例如: 只允许改变transform.opacity,其它属性不要动,避免重新计算布局(reflow) 对动画元素应用transform: translate3d( ...

随机推荐

  1. Til the Cows Come Home(spfa做法)

    题目题目描述贝茜在谷仓外的农场上,她想回到谷仓,在第二天早晨农夫约翰叫她起来挤奶之前尽可能多地睡上一觉.由于需要睡个好觉,贝茜必须尽快回到谷仓.农夫约翰的农场上有N(2≤N≤1000)个路标,每一个路 ...

  2. JQuery日记6.7 Javascript异步模型(二)

    异步模型看起来非常美,但事实上它也是有天生缺陷的.看以下代码 try { setTimeout( function(){ throw new Error( '你抓不到我的!' ); }, 100); ...

  3. 如果通过cookies和localStorage取值?

    1. getCook : 设定setCookie值 let setCookie = setCookie('wan',data,7); function setCookie(c_name,value,e ...

  4. what codes does sudo command do in Linux?

    sometime, to make your change of configuration file be effective to web application, we have to rest ...

  5. 【第十周读书笔记】读node入门,一本全面的node.js教程

    我学到了路由的定义,路由就是解析URL然后转到相应的执行程序. 我们要为路由提供请求的URL和其他需要的GET及POST参数,随后路由需要根据这些数据来执行相应的代码(这里“代码”对应整个应用的第三部 ...

  6. cookie、session、sessionStorage和localStorage

    摘抄并整理后查 cookie 和 session 一般用来跟踪浏览器的用户身份 Session的存储方式 1. 使用cookie:保存 session id 的方式可以采用 cookie,这样在交互过 ...

  7. java中Class.getMethods()和Class.getDeclaredMethods()的区别

    在java中,可以根据Class类的对象,知道某个类(接口)的一些属性(成员 ,方法,注释,注解)等.由于最近的工作中用到了这些,其中需要在代码中格局反射知道某些类的方法,查看文档的时候,看到了get ...

  8. 笔记44 Hibernate快速入门(一)

    一.Hibernate简介 Hibernate 是传统 Java 对象和数据库服务器之间的桥梁,用来处理基于 O/R 映射机制和模式的那些对象. Hibernate 架构是分层的,作为数据访问层,你不 ...

  9. leetcood学习笔记-112-路径总和

    题目描述: 第一次提交: class Solution(object): def hasPathSum(self, root, sum): """ :type root: ...

  10. JAVA java调用C++动态链接库dll,有详细过程。VS2015+Eclipse以及失败解决方案

    一.新建Java工程,在Java类中声明一个native的方法 新建Java项目 在新建的项目中创建packet(包),并且在包下创建一个Class(类). 接下来,在该类中添加如下代码: ? 1 2 ...