bug是这样的,准备两个div:
<div id="outer" style="width:200px;height:200px;background:red;position:relative">
<div id="inner" style="width:100px;height:100px;background:green;position:absolute;top:0;left:0"></div>
</div>
你会在浏览器看到:
脚本:
var outer = document.getElementById('outer');
var inner = document.getElementById('inner');
setTimeout(function(){
inner.style.WebkitTransform = 'translate(50px, 50px)';
}, 2000);
setTimeout(function(){
inner.style.WebkitTransform = 'translate(0px, 0px)';
inner.style.left = '50px'
inner.style.top = '50px';
}, 4000);
脚本的作用是,在2秒的时候修改inner的transform,使之在水平和竖直方向各移动50px,应该在浏览器看到:
接着,在第4秒的时候,我们清除transform属性,换用top和left设置,理论上inner的位置应该不变,下面是chrome的效果:
但是在safari(Mac平台,PC平台未知