我这里把a.style.left = a.offsetLeft + 10 + 'px';
但是div没有移动
然后我
console.log(a.style.left+"--"+a.offsetLeft)
发现a.style.left和a.offsetLeft一直没变
这是为什么??
是不是我用的flex布局然后style.left不会变???
这样??
还是一样的
我这里把a.style.left = a.offsetLeft + 10 + 'px';
但是div没有移动
然后我
console.log(a.style.left+"--"+a.offsetLeft)
发现a.style.left和a.offsetLeft一直没变
这是为什么??
是不是我用的flex布局然后style.left不会变???
这样??
还是一样的
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
CSS 定位了解一下?
看来题主并没有搞清楚 position display 这些属性的作用。position 为 static 的情况下你改 left 是不会有效果的。top right bottom left 并不参与 flex 布局的控制。如果你既希望元素本身参与 flex 布局,又想让元素产生位移动画,那首选应该是 transform 。transform 是在布局后对元素进行视觉层面的改变,不影响布局和定位本身。