以前,一直都知道,transition是animation的一个简化版,甚至不算是动画,而是一种过渡。


transition的用法


早两天用transition写了一个按钮滑动的效果,类似于IOS的设置里面的按钮,截图如下,自己脑补画面

这个效果的主要处理就是,通过判定checked来判定两种状态,即点击前后的两种状态

点击前
#box:after{
content:'';
width: 50px;
height: 50px;
position: absolute;
left: 0;
top: -5px;
background-color: #fff;
border-radius: 25px; /*加上阴影特效,这个是复制过来的,对于一个非设计师来说加阴影实在太难掌握*/
box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); /*加上动画特效*/
transition: 0.4s;
} 点击后
#btn:checked~#box:after{
left: 42px;
background-color: #4285F4;
}

然后简单的在变化的样式里面加上transition即可

这里,动画效果是被动发生的,即我们进行了一系列操作,比如点击或者hover才会发生动画


变被动为主动(transition切成animation)

那么,如果我们想让上述动画效果变成自动发生该怎么样呢?

先加上关键帧

@keyframes todo {

        0%{
left: 0;
background-color: #fff;
} 100% {
left: 42px;
background-color: #4285F4;
}
} @keyframes todo-bg {
0%{
background-color: #ccc;
} 100%{
background-color: #376ecb;
}
}

加完关键帧之后,再在原本的样式上加上animation即可

#box {
animation: todo-bg 0.4s infinite alternate;
} #box:after {
animation: todo 0.4s infinite alternate;
}

这样,我们一打开浏览器,动画就会自动开始执行而不需要点击或者其它操作这是我目前认为的transition与animation的另一区别


扩展,同时也是animation的另一正式用法

还是上面的例子,除了可以使用transition达到被动动画之外,我们也可以使用animation达到被动动画效果

keyframe保持不变,把animation加在点击后的样式中即可


总结,transition可以用来做被动动画,animation既可以做被动动画,还可以做主动动画

transition与animation的更多相关文章

  1. 弄清 CSS3 的 transition 和 animation

    弄清 CSS3 的 transition 和 animation transition transition 属性是 transition-property, transition-duration, ...

  2. css3实践之图片轮播(Transform,Transition和Animation)

    楼主喜欢追求视觉上的享受,虽常以牺牲性能无法兼容为代价却也乐此不疲.本文就通过一个个的demo演示来简单了解下css3下的Transform,Transition和Animation. 本文需要实现效 ...

  3. css010 css的transform transition和animation

    css010 css的transform transition和animation 看着没有一个能想起他们是干什么的.. 1.         Transform    Transform(变形) r ...

  4. transition和animation动画简介

    本文介绍CSS动画的两大组成部分:transition和animation.我不打算给出每一条属性的详尽介绍,那样可以写一本书.这篇文章只是一个简介,帮助初学者了解全貌,同时又是一个快速指南,当你想不 ...

  5. CSS3中动画属性transform、transition 和 animation

    CSS3中和动画有关的属性有三个 transform.transition 和 animation.下面来一一说明:        transform   从字面来看transform的释义为改变,使 ...

  6. css3 transition 和 animation实现走马灯

    这段时间在做一个App,H5的开发.页面上有公告 以走马灯的形式显示出来. 在开始直接用的marquee标签,后来发现在ios客户端,走马灯移动不够平滑,有抖动现象. 对于有强迫症的我而言是无法忍受的 ...

  7. CSS3动画 transition和animation的用法和区别

    transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C   IE  -ms-  Chrome/Safari -webkit-   Firefoc - ...

  8. css3的动画特效--元素旋转(transition,animation)

    开发中,视觉要你实现一个元素的旋转问题,比如说如下图所示: 思路:首先动画动效肯定离不开anmimation动画. 和transition动画一样,animation动画也是CSS3动画的一种,这类动 ...

  9. Vue中transition和animation的使用

    一:二者的对比 1.动画循环就用animation.在animation中有一个animation-iteration-count属性可以定义循环次数.transition是执行一次以后就不会执行,但 ...

随机推荐

  1. Nginx 之一:编译安装nginx 1.8.1 及配置

    一:基介绍 官网地址www.nginx.org,nginx是由1994年毕业于俄罗斯国立莫斯科鲍曼科技大学的同学为俄罗斯rambler.ru公司开发的,开发工作最早从2002年开始,第一次公开发布时间 ...

  2. Identity-修改Error错误提示为中文

    第一步:重写IdentityErrorDescriber public class CustomIdentityErrorDescriber : IdentityErrorDescriber     ...

  3. cocos2dx进阶学习之CCScene

    继承关系 CCScene -> CCNode -> CCObject CCScene抽象了一个场景的概念,类似舞台的一幕 函数 static CCScene *create(void); ...

  4. [置顶] android网络通讯之HttpClient4不指定参数名发送Post

    在HttpClient4之前都是通过List<NameValuePair>键值对的形式来向服务器传递参数 ,在4.0版本中在加入了不指定参数名发送数据的形式,利用StringEntity来 ...

  5. Android GPS应用:临近警告

    前面介绍过LocationManager有一个addProximityAlert(double latitude,double longitude,float radius,long expirati ...

  6. 【Oracle】SQL*Loader-522: lfiopn failed for file

    Linux下使用sqlldr进行批量操作,此操作会自动生成和删除临时文件. 因此,当前操作的用户必须具备对存放文件的文件夹有增删改的权限. 使用root登录,修改改文件夹权限为777即可. chmod ...

  7. iOS开发App上传的三大步骤

    上传流程 1.itunse connect中->“我的App”中新建创建应用,填写相关的信息 a.项目名称(多创建几个),避免重名 b.想好应用的类型 c.应用截图(5.5,4.7,4,3.5寸 ...

  8. Android存储之SQLiteDatbase

    SQLiteDatabase的方式会生成一个数据库文件,每个应用最多只对应一个数据库文件,即.db文件. 可以使用很多第三方工具进行打开,查看数据库里的内容. 昨晚试了好几种工具,如navicat,s ...

  9. PigCms 回复消息 "域名授权错误! 您使用的微信平台或源码为盗版"

    本文地址:http://duwei.cnblogs.com/ Pigcms 将自动回复的API 写死了, 这里提供一个可用的API 在 PigCms/Lib/Action/Home/Weixinact ...

  10. svn笔记2

    Examining History Your Subversion repository is like a time machine. It keeps a record of every chan ...