CSS3中的animation动画属性简介

在CSS3中,有一个新的属性可以用来做一些简单的动画效果,这就是animation,中文意思就是动画。

一、首先我们来看看animation属性的兼容性(来源caniuse

animation属性兼容

二、animation使用的简单例子

在这个例子中,我让一个从左移动到右,再移动回左边:
代码如下:

div移动

实验地址

三、讲讲@keyframes动画的创建

  • 介绍
    在使用animation为元素制作动画时,先要制定想要的动画效果,例如让div元素移动,又或者改变它的背景色,实现翻转效果等,这时候就要用到@keyframes为其创建动画的效果;

  • @keyframes的写法
    总的格式如下:

    @keyframes 动画的名字{
    这里制定元素变化的效果
    }

  • @keyframes的几个关键词
    1.fromto,标记元素的起始状态和结束状态,例如下面例子,元素的起始背景色是红色,使其慢慢变成蓝色就可以这样写;

    from和to

    2.此外,状态变化也可以用百分比进行标识,添加动画在每个进度时的效果;
    百分比表示动画效果进度

PS:在 @keyframes中填写动画效果,结束是不能添加分号;的,否则没有效果,下面这个是错误的写法:

错误写法

这里介绍animation的七大属性

一、animation-duration属性(持续时间)

  • 介绍
    animation-duration是为动画制定持续的时间,一般以秒或者毫秒来计算,如果不填写该属性,则默认为0,没有动画效果;

  • 写法:


二、animation-timing-function属性(时间曲线)

  • 介绍
    animation-timing-function属性是为动画制定从开始到结束时的播放速度曲线,比如由快到慢,或者由慢到快等;

  • animation-timing-function的几个值
    1.linear:表示动画一直以匀速进行播放;贝赛尔函数cubic-bezier(0,0,0.25,1)
    2.ease:默认值,表示动画先慢后快,在即将结束时再变慢;cubic-bezier(0.25,0.1,0.25,1)
    3.ease-in:动画由慢到快直至结束;cubic-bezier(0.42,0,1,1)
    4.ease-out:动画由快到慢直至结束;cubic-bezier(0,0,0.58,1)
    5.ease-in-out:动画由慢到快再到慢直至结束,与ease不同的是它均等得分为三份,而ease是只在结束时变慢;cubic-bezier(0.42,0,0.58,1)
    6.标注时间:也可以直接标注一个时间(以s做单位)来规定动画全称以该速度进行播放;
    7.贝赛尔函数:也可以使用贝赛尔函数来对动画的播放时间曲线进行规定;
    关于贝赛尔函数点这里
    这里是五个不同动画之间的效果对比:
    效果对比

  • animation-timing-function写法

    animation-timing-function

三、animation-delay属性(动画延迟时间)

  • 介绍
    delay顾名思义是延迟的意思,该属性作用就是规定动画延迟多少时间进行播放的,以秒或者毫秒做单位,默认值为0,可以设置负数,设置负数时候,动画直接跳过负数时间段进行执行,例如:动画只有5s,设置该属性的值为-2s的时候,动画是直接从第三秒的位置开始的;

  • animation-delay负值与正值的对比
    实验地址

  • animation-delay写法

    animation-delay写法

四、animation-iteration-count属性(动画播放次数)

  • 介绍
    iteration-count这个连接词中,iteration的意思是反复,count的意思是次数。该属性制定动画的播放次数,默认是1,也就是播放一次,填写数字几就是播放几次,此外,还有值infinite是无限循环的意思;

  • animation-iteration-count写法

    动画播放次数

五、animation-direction属性(动画反向播放)

  • 介绍
    该属性中,direction是方向的意思,该属性制定动画是否反方向播放,以及怎么样进行播放;

  • animation-direction的四个值
    1.normal:默认值,不进行反方向播放;
    2.reverse:全部播放都是用反方向播放;
    3.alternate:在奇数次数(1、3、5)的时候正向播放,偶数次数(2、4、6)进行反向播放;
    4.alternate-reverse:在偶数次数(1、3、5)的时候正向播放,奇数次数(2、4、6)进行反向播放;

四个值的播放对比

  • animation-direction的写法
animation-direction写法

六、animation-fill-mode属性(动画保持开始或者结束时的样式)

  • 介绍
    animation-fill-mode属性制定动画是否保持开始时的样式,或者是结束时的样式,又或者两者皆有,比如在一次播放结束后,动画保持什么样的样式;

  • animation-fill-mode属性的三个值
    1.forwards:动画结束后保持结束时的样式;
    2.backwards:动画结束后保持开始时的样式;
    3.both:两者皆有;

三个值之间的对比

七、animation-play-state属性(暂停动画)

  • 介绍
    animation-play-state属性制定动画的运行状态,是运行还是暂停;

  • animation-play-state属性的两个值
    1.paused:动画暂停;
    2.running:动画运行;

  • 例子:点击按钮暂停动画或开始动画
    暂停或运行动画


最后说说animation的简写形式

格式如下:
animation: name duration timing-function delay iteration-count direction fill-mode play-state;

animation属性简写

随便做做也感觉很漂亮

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容

  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,301评论 0 11
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,727评论 0 2
  • 还可以参考这篇:http://www.cnblogs.com/shenfangfang/p/5713564.htm...
    Mandy_jin阅读 1,176评论 0 3
  • 看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印象,因...
    DCbryant阅读 1,854评论 0 4
  • ***介绍的属性并不完全,写的都是我认为容易混淆的难点属性,所以属性会在最后综合案例展示~ Keyframes介绍...
    xiaoaiai阅读 2,201评论 0 0