以前,一直都知道,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. 虽然net人

    http://v.qq.com/boke/page/c/h/0/c01173tzeh0.html http://v.qq.com/boke/page/r/7/x/r0117l07r7x.html ht ...

  2. Failed to load the JNI shared library

    解决Eclipse无法打开"Failed to load the JNI shared library" 这是由于JDK配置错误所导致的现象. 一般说来,新购笔记本会预装64位的w ...

  3. 【Eclipse】修改项目访问名称

    Properties --> Web Project Settings --> Context root --> 输入想要用的名称(默认是项目名)

  4. load、save方法、spark sql的几种数据源

    load.save方法的用法          DataFrame usersDF = sqlContext.read().load("hdfs://spark1:9000/users.pa ...

  5. [转][Swust OJ 24]--Max Area(画图分析)

    转载自:http://www.cnblogs.com/hate13/p/4160751.html Max Area 题目描述:(链接:http://acm.swust.edu.cn/problem/2 ...

  6. js中的总结汇总(以后的都收集到这篇)

    点1:js中的比较字符串是否相等,js中是用"=="这个来判断是否相等,这点跟java中不一样,java中是.equals()这种方法. 在之前写的ajax的demo中,因为用了. ...

  7. video.js的使用

    跨浏览器地播放视频,在网上找了一下,找到了video.js,记录一下video.js的简单用法. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 ...

  8. vim的漫漫长征路

    在系统的学习vim之前,先在网上找了些教程大概了解下,因为首先我们要先将vim给用起来,然后在系统的学习过程中不断的充实自己对vim的理解. ----------------------------- ...

  9. HDU 4121

    http://www.bnuoj.com/v3/problem_show.php?pid=10277 //#pragma comment(linker, "/STACK:16777216&q ...

  10. Ural 1068 - Sum

    Your task is to find the sum of all integer numbers lying between 1 and N inclusive. Input The input ...