CSS中的动画
1.transition
在CSS3中,可以通过transition为元素从一种样式变换为另外一种样式的过程添加效果。
transition为简写属性,用于在一个属性中设置四个过渡属性,分别是:
transition-property:应用过渡的CSS属性的名称,如width,background-color等;
transition-duration:过渡过程所花的时间,如不指定,默认为0;
transition-timing-function:过渡效果的时间曲线,即动画速度随时间的变化而变化,默认为ease(先慢再变快再以慢速结束);
transition-delay:规定过渡效果延迟多少开始,默认为0;
eg:
<style>
div{
width:50px;
heigth:50px;
background-color:yellow;
transition:width 2s;
}
div:hover{
width:100px;
}
</style> <div></div>
上面的例子中,当鼠标移到该元素上面时,元素的宽度width会在2s内从50px增加为100px;
另外transition-property的值也可以设定为transform,这样一来就可以实现更多的动画效果
eg:
<style>
div
{
width:100px;
height:100px;
background:yellow;
transition:transform 2s;
} div:hover
{
transform:translate(30px,40px);
}
</style> <div></div>
上面的例子中 ,当鼠标移到该元素上面时,元素两秒内向左向下移动30px、40px;
如果需要向多个样式添加过渡效果,应该使用逗号隔开
eg:
div{
transition:width 2s,transform 3s,height 4s;
}
2.animation
animation 包含六个属性,分别是:
animation-name:规定@keyframes动画的名称;
animation-duration:规定完成一个动画周期所花的时间;
animation-timing-function:规定动画速度的变化曲线,默认为ease;
animation-delay:规定动画延迟开始的时间,默认为0;
animation-iteration-count:规定动画被播放的次数(周期),默认为1,infinite为无限次播放;
animation-direction:规定动画是否在下一周期逆序播放,默认为normal,动画正常播放,设置为alternate时,动画在1,3,5等奇数次时正常播放,在2,4,6等偶数次逆序播放;
除此6个属性外,还有两个不包含在animation简写属性内的。
animation-play-state:规定动画是运行还是暂停的,running表示运行中,paused表示暂停中,一般在JavaScript中使用,如此便可以在播放过程中暂停动画。
animation-fill-mode:规定动画在播放前或播放后,动画效果是否可见。属性值默认为none;设置为forwards时,当动画完成时,保持最后的效果(即保持在最后的关键帧中设置的效果),设置为backwards时,在animation-delay设置的那段时间内,在动画正式开始时,应用在最开始的关键帧中定义的效果
和animation密切相关的,还有上面提到的@keyframes,@keyframes用于创建动画,通过在@keyframes中定义CSS样式,就能创建由当前样式逐渐改为新样式的动画效果。
eg:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
* {
margin: 0;
padding: 0;
}
#test {
width: 100px;
height: 100px;
background-color: blue;
animation: myAnimation 3s;
}
@keyframes myAnimation {
from {
width: 100px;
}
to {
width: 300px;
}
}
</style>
</head>
<body>
<div id="test"></div>
</body>
</html>
另外,animation不同于transition的地方在于,animation可以定义关键帧,可以使动画在多个状态间变换
eg:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<style>
* {
margin: 0;
padding: 0;
}
#test {
width: 100px;
height: 100px;
background-color: blue;
animation: myAnimation 3s;
}
@keyframes myAnimation {
0% {
width: 100px;
}
30% {
width: 200px;
}
60% {
width: 250px;
}
100% {
width: 300px;
}
}
</style>
</head>
<body>
<div id="test"></div>
</body>
</html>
CSS中的动画的更多相关文章
- Css中的变形及过渡动画
在css3的标准中新增加了变形样式,这些样式使得网页中各元素的位置形状的变换变得更加容易.其语法如下: transform:none | <transform-function>+ 其中对 ...
- CSS中的一下小技巧2之CSS3动画勾选运用
使用CSS3实现动画勾选 相信大家在项目中会经常遇到这种需求:勾选框.现在用CSS3来实现一个动画勾选,只需要一个标签即可完成: 这次需要用到CSS中伪类 after,这个小技巧也是很容易忘记的,所以 ...
- 史上最全的CSS hack方式一览 jQuery 图片轮播的代码分离 JQuery中的动画 C#中Trim()、TrimStart()、TrimEnd()的用法 marquee 标签的使用详情 js鼠标事件 js添加遮罩层 页面上通过地址栏传值时出现乱码的两种解决方法 ref和out的区别在c#中 总结
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我 ...
- css中animation和@keyframes 动画
Animation 使用简写属性,将动画与 div 元素绑定: div { animation:mymove 5s infinite; -webkit-animation:mymove 5s infi ...
- CSS 技巧一则 -- 在 CSS 中使用三角函数绘制曲线图形及展示动画
最近一直在使用 css-doodle 实现一些 CSS 效果. css-doodle 是一个基于 Web-Component 的库.允许我们快速的创建基于 CSS Grid 布局的页面,以实现各种 C ...
- CSS3中的动画效果记录
今天要记录的是CSS3中的三种属性transform.transition以及animation,这三个属性大大提升了css处理动画的能力. 一.Transform 变形 CSS中transform ...
- requestAnimationFrame,Web中写动画的另一种选择
HTML5/CSS3时代,我们要在web里做动画选择其实已经很多了: 你可以用CSS3的animattion+keyframes; 你也可以用css3的transition; 你还可以用通过在canv ...
- CSS3中的动画功能(一)
css3中的动画功能分为transitions功能和animations功能,这两种功能都可以通过改变css属性值来产生动画效果.今天带大家一起来看看css3动画功能中的transitions的用法. ...
- CSS 和 JS 动画哪个更快
基于Javascript的动画暗中同CSS过渡效果一样,甚至更加快,这怎么可能呢?而Adobe和Google持续发布的富媒体移动网站的性能可媲美本地应用,这又怎么可能呢? 本文逐一遍览了基于Javas ...
随机推荐
- Dapper 批量操作sql
static void Main(string[] args) { private static readonly string sqlconnection =""; //遍历循环 ...
- 贴现力 (force of discount)
一.定义 用贴现函数a-1(t) 代替累积函数,在 t 时刻的贴现力为 增加一个负号使得贴现力为正. 二.重要的公式
- Improving cache consistency redis和db的一致性维护
From http://simongui.github.io/2016/12/02/improving-cache-consistency.html A typically web applicat ...
- SAP S/4HANA里如何创建Customer主数据以及执行后续处理
来自Jerry的同事Zhang Sean. 1, Launch tcode: BP and select the Organization 2, Maintain the information fo ...
- NGUI UILabel文字宽度和 UITweener
做个记录 方便别人和自己以后查找. NGUI UILabel 文字宽度 高度 mLabel.GetComponent<UILabel>().getLabWidth() mLabel ...
- Spring Framework5.0 学习(4)—— 基本概念
1.0 控制反转(IOC)/依赖注入(DI) 通过依赖注入(DI),对象的依赖关系将由负责协调系统关系中各个对象的第三方组件在创建对象是设定.对象无需自行创建或管理它们的依赖关系——依赖关系将被自动 ...
- Libevent源码学习笔记一:event2/event.h
一.libevent标准使用方法: 每个程序使用Libevent必须include <event2/event.h> 头文件,并 传给 -levent 链接器.如果只是想使用主要的eve ...
- CF#538(div 2) C. Trailing Loves (or L'oeufs?) 【经典数论 n!的素因子分解】
任意门:http://codeforces.com/contest/1114/problem/C C. Trailing Loves (or L'oeufs?) time limit per test ...
- ASP.NET SingalR + MongoDB 实现简单聊天室(三):实现用户群聊,总结完善
前两篇已经介绍的差不多了,本篇就作为收尾. 使用hub方法初始化聊天室的基本步骤和注意事项 首先确保页面已经引用了jquery和singalR.js还有对应的hubs文件,注意,MVC框架有时会将jq ...
- git提交项目
https://www.cnblogs.com/java-maowei/p/5950930.html