transition:过度属性transition-property 规定设置过度效果的css属性的名称,默认可以写all
transition-duration 规定完成过度效果需要多少秒或毫秒
transition-timing-function: 默认easetransition-delay:延时时间
ease:逐渐变慢
linear:匀速
ease-in:加速
ease-out:减速
ease-in-out:先加速在减速
cubic-bezier:贝塞尔曲线
transitionend:过度完成事件
function addend(obj,fn){
obj.addeventlistener('webkittransitionend',fn,false);
obj.addeventlistener('transitionend',fn,false);
}
function removeend(obj,fn){
obj.removeeventlistener('webkittransitionend',fn,false);
obj.removeeventlistener('transitionend',fn,false);
}
注:1在transition里,如果写了多个,那没改变一次样式,就会触发一次事件
2注意重复触发transitionend事件。比如下面重复改变p的y轴位置
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>title</title>
<style>
#nav{position: absolute;left:0;top:0;width: 100px;height: 100px;background: gray;transition: 1s all;}
</style>
</head>
<body>
<div id="nav"></div>
<script>
var ohome=document.getelementbyid("nav");
var count = 10;
ohome.onclick = function(){
count += 20;
ohome.style.transform = 'translate(0,'+ count +'px)'
addend(this,function(){
count += 20;
ohome.style.transform = 'translate(0,'+ count +'px)'
})
}
function addend(obj,fn) {
obj.addeventlistener('webkittransitionend',fn,false);
obj.addeventlistener('transitionend',fn,false);
}
</script>
</body>
</html>
transform:变形
旋转:rotate():度数
斜切:skew():度数
skewx
skewy
缩放:scale():正数、负数、小数
scalex
scaley
位移:translate():css支持的单位都可以
translatex
translatey
transform的执行顺序:后写的先执行
transform: scale(2) rotate(50deg); 先执行旋转,在执行缩放
以上transform的值,也会根据中心点(transform-origin)来改变
以上就是css变形transform属性详细介绍的详细内容。