关于transition和animation
最近的工作以移动端项目居多,经常会涉及一些比较小的动画效果,所以使用css3设计动画效果也就越发熟练起来。但是不得不承认,一直以来都是凭感觉使用transform, transition, animation,而没有深究过这三者之间的真正的内在的区别,以及一些触发条件。
仅仅知道从字面上理解这三者:
transform: 变形
transition: 过渡
animation:动画
transform基本上用在静态元素的变形上面,其本身并不具备动画效果,所以此处略去不说。
关于animation前面也踩到了坑,也填过一些坑,至少目前在使用上问题不太大了,今天做的一个效果是:活动结束页面上,有一艘小船,为了具有一点形象性的意义,我给小船做了一个移除页面的动画,移除页面,不能再回来了。
.over-ship{
width: 4.5rem;
height: 2.85rem;
margin-top: 1rem;
float: right;
background: url(../../images/saishihui/ship.png) no-repeat center center / contain; /**小小船只的图片*/
-webkit-animation: leaveOver 3s ease-in;
animation: leaveOver 3s ease-in;
-webkit-animation-fill-mode:forwards;
animation-fill-mode:forwards;
}
@-webkit-keyframes leaveOver{
100% {
margin-right: -4.5rem;
}
}
@keyframes leaveOver{
100% {
margin-right: -4.5rem;
}
}
w3scool上解释:animation-fill-mode 属性规定动画在播放之前或之后,其动画效果是否可见。
用法:animation-fill-mode : none | forwards | backwards | both;

知道用法即可。
这里更多关注一下transition。用法不多说,主要说一下transition的触发方式。
一般分为伪类触发,媒体查询触发,JavaScript触发。
常用伪类触发包括:hover、:focus、:active等,应该比较熟悉。
媒体查询触发,从字面意思也基本能够理解。
主要说一下JavaScript触发,一直以来,我都是认为,给一个DOM元素添加不同的class,在新增的class里面设置transition,通过addClass(newClass)即可触发transition,但是今天在项目中使用该方法之后,发现并不能触发这个transition,然后就是各种搜索原因。
发现可以通过DOM操作其css属性,实现transition的过渡效果。
$('.override').get()[0].style.setProperty('opacity', 1);
这时就能够触发从opacity从0到1的效果,有一点需要注意的是如果dom元素先设置了dispaly=none的属性,则需要在 js改变其为display:block 后延迟一段时间之后再去设置其他过渡动画,否则该过渡动画不会触发。
// 点击关闭按钮。关闭弹框
$('.override').addClass('in'); // 设置.override显示
setTimeout(function () { // 延迟设置opacity显示的动画
$('.override').get()[0].style.setProperty('opacity', 1);
}, 300);
关于transition和animation的更多相关文章
- 弄清 CSS3 的 transition 和 animation
弄清 CSS3 的 transition 和 animation transition transition 属性是 transition-property, transition-duration, ...
- css3实践之图片轮播(Transform,Transition和Animation)
楼主喜欢追求视觉上的享受,虽常以牺牲性能无法兼容为代价却也乐此不疲.本文就通过一个个的demo演示来简单了解下css3下的Transform,Transition和Animation. 本文需要实现效 ...
- css010 css的transform transition和animation
css010 css的transform transition和animation 看着没有一个能想起他们是干什么的.. 1. Transform Transform(变形) r ...
- transition和animation动画简介
本文介绍CSS动画的两大组成部分:transition和animation.我不打算给出每一条属性的详尽介绍,那样可以写一本书.这篇文章只是一个简介,帮助初学者了解全貌,同时又是一个快速指南,当你想不 ...
- CSS3中动画属性transform、transition 和 animation
CSS3中和动画有关的属性有三个 transform.transition 和 animation.下面来一一说明: transform 从字面来看transform的释义为改变,使 ...
- transition与animation
以前,一直都知道,transition是animation的一个简化版,甚至不算是动画,而是一种过渡. transition的用法 早两天用transition写了一个按钮滑动的效果,类似于IOS的设 ...
- css3 transition 和 animation实现走马灯
这段时间在做一个App,H5的开发.页面上有公告 以走马灯的形式显示出来. 在开始直接用的marquee标签,后来发现在ios客户端,走马灯移动不够平滑,有抖动现象. 对于有强迫症的我而言是无法忍受的 ...
- CSS3动画 transition和animation的用法和区别
transition和animation都是CSS3新增的特性,使用时需要加内核 浏览器 内核名称 W3C IE -ms- Chrome/Safari -webkit- Firefoc - ...
- css3的动画特效--元素旋转(transition,animation)
开发中,视觉要你实现一个元素的旋转问题,比如说如下图所示: 思路:首先动画动效肯定离不开anmimation动画. 和transition动画一样,animation动画也是CSS3动画的一种,这类动 ...
- Vue中transition和animation的使用
一:二者的对比 1.动画循环就用animation.在animation中有一个animation-iteration-count属性可以定义循环次数.transition是执行一次以后就不会执行,但 ...
随机推荐
- Python正则表达式指南 (转)
本文http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html 正则表达式经常被用到,而自己总是记不全,转载一份完整的以备不时之需. 1. ...
- pandas读取MySql/SqlServer数据 (转)
在 Anacondas环境中,conda install pymssql ,一直报包冲突,所以采用先在 https://www.lfd.uci.edu/~gohlke/pythonlibs/#nump ...
- cvs报错: socket exception recv failed
连接都OK的. 也可以telnet到服务器上去. 网上的各种方法都试了,没法解决. 后来一直在乱试,居然解决了. 就是这样设置的,选中第一个复选框.
- jdk源码剖析二: 对象内存布局、synchronized终极原理
很多人一提到锁,自然第一个想到了synchronized,但一直不懂源码实现,现特地追踪到C++层来剥开synchronized的面纱. 网上的很多描述大都不全,让人看了不够爽,看完本章,你将彻底了解 ...
- MySQL+MyBatis下批量修改数据的问题
今天处理数据批量的更新,场景是这样子的,web站管理的字典功能,需要添加一个记录的整体描述,以及详细内容的描述.一个字典整体概述只有一组信息,但是其详细内容,会有很多项,不确定. 这个场景,在关系型数 ...
- java小程序(课堂作业03)
使用类的静态字段和构造函数,我们可以跟踪某个类所创建对象的个数.请写一个类,在任何时候都可以向它查询“你已经创建了多少个对象?”. 思路:因为静态初始化块只运行一次,是一个很好的记录次数的方法,定义一 ...
- ubuntu 阿里云 常出问题 运维工作日志
一.2015-8.26(数据库 error—28) tmp文件临时数据写入不了----解决办法 1.查看临时文件 ls -l 找到了 2.由此可以查看得出来tmp文件有的权限是有的 3.查看tmp 存 ...
- 【maven】之打包不带版本号的问题
今天在写maven项目的时候发现打包没有带版本号,只有包名 百思不得其解,我翻看之前的项目发现并没有这种情况,最后看了一下文档 发现是自己在build中写了fileName 导致的!删除自定义的fi ...
- 18年春招某编程题:有三个整数X,Y,Z,要求进行若干次操作使得X,Y,Z相等
题目描述: 给定三个整数X,Y,Z,要求进行若干次操作使得X,Y,Z相等,操作有两种: 1.从X,Y,Z中选择两个数都加1. 2.从X,Y,Z中选择一个数加2. 求最少需要多少次操作. 题目思路: 1 ...
- Lucene 4.0 正式版发布,亮点特性中文解读[转]
http://blog.csdn.net/accesine960/article/details/8066877 2012年10月12日,Lucene 4.0正式发布了(点击这里下载最新版),这个版本 ...