当css属性改变的时候,控制animation的速度,让属性的变化发生在一段时间之内,而不是立即生效。

语法

transition: <property> <duration> <timing-function> <delay>;

property:css属性的name, 支持的属性列表

duration:持续时间

timing-function:运动曲线

一个折叠菜单例子:

 <style type="text/css">
ul, li{
list-style:none;
float: left;
}
ul.menu {
overflow: hidden;
width: 50px;
height: 50px;
}
ul.fold {
width: 0px;
height: 0px;
transition: width 1s, height 1s;
-webkit-transition: width 1s, height 1s;
-moz-transition: width 1s, height 1s;
-o-transition: width 1s, height 1s;
}
ul.unfold {
width: 50px;
height: 50px;
background-color: #fff;
transition: width 1s, height 1s;
-webkit-transition: width 1s, height 1s;
-moz-transition: width 1s, height 1s;
-o-transition: width 1s, height 1s;
}
</style

css

html:

 <ul class="menu unfold" id="menu1">
<li>11111111</li>
<li>22222222</li>
</ul>

js:

 var v1 = document.getElementById("menu1");
function flod(){
className = v1.className;
v1.className = "menu" + (/\s+fold/.test(className) ? " unfold" : " fold");
}
v1.addEventListener("click", flod, false);

检测transition完成

transition完成后transitionend事件将被触发,如果transition还没有完成就被abort,将不会触发transitioned事件

 v1.addEventListener('transitionend', function(e){
alert(e.propertyName + "|" + e.elapsedTime);
});

js

在webkit中事件名称是webkitTransitionEnd,可以查看兼容列表

transition让js function过度更平滑

p {
padding-left: 60px;
} #foo {
border-radius: 50px;
width: 50px;
height: 50px;
background: #c00;
position: absolute;
top:;
left:;
-webkit-transition: all 1s;
transition: all 1s;
}

Css

html:

<p>Click anywhere to move the ball</p>
<div id="foo"></div>

js:

var f = document.getElementById('foo');
var info = document.getElementById('eventInfo');
document.addEventListener('click', function(ev){
f.style.left = (ev.clientX-25)+'px';
f.style.top = (ev.clientY-25)+'px';
},false);

当鼠标点击页面的时候,红色的圆会在1s内运动到当前位置。

浏览器兼容

Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
-webkit-transition -moz-transition 10 -o-transition -webkit-transition

webkitTransitionEnd

4.0 (2.0) 10 10  oTransitionEnd
12  otransitionend
12.10   transitionend
webkitTransitionEnd

css3动画-transition的更多相关文章

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

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

  2. css3动画transition animation

    CSS动画简介  transition   animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...

  3. 大厂前端带来css3动画transition的使用和介绍全新认识动画

    CSS3中可以使用transition来做最简单动画效果,transition表示到一个元素的属性值发生变化时,我们可以看到页面元素从旧的属性慢慢变化为新的属性值的过程,这种效果不是立即变化的,而是体 ...

  4. css3动画transition详解2

    transition主要包含四个属性值:执行变换的属性:transition-property,变换延续的时间:transition-duration,在延续时间段,变换的速率变化transition ...

  5. css3 动画 Transition

      CSS Transition 1.1 基本用法 在CSS 3引入Transition(过渡)这个概念之前,CSS是没有时间轴的.也就是说,所有的状态变化,都是即时完成. 上面是一个演示,当鼠标放置 ...

  6. css3动画transition详解

    一.transition-property 语法: transition-property : none | all | [ <IDENT> ] [ ',' <IDENT> ] ...

  7. css3动画入门transition、animation

    css3动画 transition.animation CSS3 transition demo <!DOCTYPE html> <html> <head> < ...

  8. css3中动画(transition)和过渡(animation)详析

    css3中动画(transition)和过渡(animation)详析

  9. css3动画属性中的transition属性

    一.语法 transition: property duration timing-function delay; 值 描述 transition-property 规定设置过渡效果的 CSS 属性的 ...

随机推荐

  1. 解决IOS safari在input focus弹出输入法时不支持position fixed的问题

    该文章为转载 我们在做移动web应用的时候,常常习惯于使用position:fixed把一个input框作为提问或者搜索框固定在页面底部.但在IOS的safari和webview中,对position ...

  2. Override/implements methods 如何添加

    用过Eclipse 的ADT的都知道,要快速添加override或者implements方法,右键---Source---Override/Implements Method... 中文:右键---& ...

  3. hosts文件不显示

    1.按住windows键(就是小旗子小窗口键)+R,打开运行:2.在输入框中输入 cmd并回车:3.紧接着在dos窗口中输入"CD \WINDOWS\SYSTEM32\DRIVERS\ETC ...

  4. 开源内容管理系统Joomla正式发布3.5版本 基于PHP 7

    这也是首个完全支持 PHP 7 语言开发的 Joomla 版本 作为深受广大站长喜爱的 Joomla 开源内容管理系统(Content Management System, CMS)正式推出 3.5 ...

  5. Android Studio的使用(八)--// TODO代码

    我们都知道Eclipse存在// TODO代码,该段代码在方法中用于标识该方法仍未完成,也可以用于作为该方法的一个快捷键.例如我们可以用于标识onClick()方法,当我们需要查找onClick()方 ...

  6. 51nod 修改数组

    修改数组 给出一个整数数组A,你可以将任何一个数修改为任意一个正整数,最终使得整个数组是严格递增的且均为正整数.问最少需要修改几个数? Input 第1行:一个数N表示序列的长度(1 <= N  ...

  7. Warning: The Copy Bundle Resources build phase contains this target's Info.plist file 'yintingting_baisi/Info.plist'.

    处理方法: The INFOPLIST_FILE build setting specifies the name of the Info.plist associated with your tar ...

  8. inline-block的特点

    <html> <head> <meta charset="utf-8"> <title></title> <sty ...

  9. PAT (Advanced Level) 1049. Counting Ones (30)

    数位DP.dp[i][j]表示i位,最高位为j的情况下总共有多少1. #include<iostream> #include<cstring> #include<cmat ...

  10. PAT (Advanced Level) 1044. Shopping in Mars (25)

    双指针. #include<cstdio> #include<cstring> #include<cmath> #include<vector> #in ...