标签:
css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击等事件被处罚时对元素任何改变触发,并圆滑地以动画效果改变CSS的属性值。
过渡需要触发。
transition主要包含四个属性值:
执行变换的属性:transition-property,
变换延续的时间:transition-duration,
在延续时间段,变换的速率变化transition-timing-function,
变换延迟时间transition-delay
transition-timing-function的值允许你根据时间的推进去改变属性值的变换速率,transition-timing-function有6个可能值:
1、ease:(逐渐变慢)默认值,ease函数等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0).
2、linear:(匀速),linear 函数等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0).
3、ease-in:(加速),ease-in 函数等同于贝塞尔曲线(0.42, 0, 1.0, 1.0).
4、ease-out:(减速),ease-out 函数等同于贝塞尔曲线(0, 0, 0.58, 1.0).
5、ease-in-out:(加速然后减速),ease-in-out 函数等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
6、cubic-bezier:(该值允许你去自定义一个时间曲线), 特定的cubic-bezier曲线。 (x1, y1, x2, y2)四个值特定于曲线上点P1和点P2。所有值需在[0, 1]区域内,否则无效。
过渡后触发事件transitionend 谷歌为WebkitTransitionEnd transition没改变一条样式,就会触发一次transitionend
浏览器内核前缀
#wrap{ width:100px; height:100px; -webkit-transition: 2s width; -moz-transition: 2s width; -ms-transition: 2s width; -o-transition: 2s width; transition: 2s width; } #wrap:hover{ width:200px;
height:200px;
}
<script> window.onload = function(){ document.getElementById(‘wrap‘).addEventListener(‘WebkitTransitionEnd‘,fn,false); document.getElementById(‘wrap‘).addEventListener(‘transitionend‘,fn,false); function fn(){ alert(111); } } </script>
一共alert4次111,因为width height都改变 并且图形返回原形是再触发所有4次
标签:
原文地址:http://www.cnblogs.com/xinup/p/4847507.html