css3 transition

1.transition

1.1 写法
/* property name | duration */
transition: margin-right 4s;

/* property name | duration | delay */
transition: margin-right 4s 1s;

/* property name | duration | timing function */
transition: margin-right 4s ease-in-out;

/* property name | duration | timing function | delay */
transition: margin-right 4s ease-in-out 1s;

/* Apply to 2 properties */
transition: margin-right 4s, color 1s;

/* Apply to all changed properties */
transition: all 0.5s ease-out;
img{
    transition-property: height;
    transition-duration: 1s;
    transition-delay: 1s; //延时
    transition-timing-function: ease;
}
1.2 transition-timing-function
(0)ease:  逐渐变慢==贝塞尔曲线(0.25, 0.1, 0.25, 1.0).(默认)
(1)linear:匀速==(0.0, 0.0, 1.0, 1.0).
(2)ease-in:加速==(0.42, 0, 1.0, 1.0)
(3)ease-out:减速==(0, 0, 0.58, 1.0)
(4)ease-in-out:  加速然后减速==(0.42, 0, 0.58, 1.0)
(5)cubic-bezier函数:自定义速度模式

贝塞尔曲线:http://cubic-bezier.com

1.3 多个值
  1. 长度一致
div {
  transition-property: opacity, left, top, height;
  transition-duration: 3s, 5s, 3s, 4s;
}
  1. 长度不一致 以transition-property为准
    2.1 属性值列表短于它 则重复值以达长度一致
div {
  transition-property: opacity, left, top, height;
  transition-duration: 3s, 5s;
}
//等同于
div {
  transition-property: opacity, left, top, height;
  transition-duration: 3s, 5s, 3s, 5s;
}

2.2 属性值列表长于它 则截取

div {
  transition-property: opacity, left;
  transition-duration: 3s, 5s, 2s, 1s;
}
//等同于
div {
  transition-property: opacity, left;
  transition-duration: 3s, 5s;
}
  1.4 transitionend

事件会在CSS transition结束后触发. 当transition完成前移除transition

  1. 比如移除css的transition-property属性,事件将不会被触发.
  2. 如在transition完成前设置 displaynone,事件同样不会被触发。
//写法
var element = document.getElementById("t-three");
element.addEventListener("transitionend", showMessage, false);
var i = 0;
function showMessage(e) {
    console.log(e);//详细属性 见打印
    element.innerHTML = 'Transition 已完成'+i;
    i++;
}

demo: http://sunxinqiang.top/css3/transition/transition.html

参考:

  1. http://www.css88.com/archives/4705
  1. http://www.ruanyifeng.com/blog/2014/02/css_transition_and_animation.html
  1. https://developer.mozilla.org
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • W3C标准中对css3的transition这是样描述的:“css的transition允许css的属性值在一定的...
    青春前行阅读 1,438评论 0 5
  • 上一篇介绍了CSS3里transform变形属性,本篇介绍另一个人气动画属性transition。transiti...
    张歆琳阅读 25,068评论 1 31
  • Transition and animations 贝塞尔曲线在线工具(需翻墙) 贝塞尔曲线在线工具(无需翻墙)...
    ilaoke阅读 951评论 1 5
  • transition: 允许CSS属性值在一定的时间区间内平滑的过渡,需要事件的触发,例如单击、获取焦点、失去焦点...
    李奕锦liyijin阅读 403评论 0 1
  • 人无完人,各有所长,也各有所短。能否容人之长,又能容人之短,是搞好工作、团结团队的重要一环。经常在一起工作的同事,...
    李假假阅读 403评论 0 0