JS给div的style对象设置transition:none;width:1000px; 然后在设置transition:all .4s; 为什么在网页中div的width是以过渡效果显示的? 而不是直接一下变为1000px?
和event loop有关吗?
是不是因为浏览器在解析的时候会先收集所有style属性,然后一起去设置?
和浏览器渲染有关吗?
JS给div的style对象设置transition:none;width:1000px; 然后在设置transition:all .4s; 为什么在网页中div的width是以过渡效果显示的? 而不是直接一下变为1000px?
和event loop有关吗?
是不是因为浏览器在解析的时候会先收集所有style属性,然后一起去设置?
和浏览器渲染有关吗?
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
5 回答1.9k 阅读
没错,和浏览器渲染有关,你这么写,就相当于 transition = 'none' 是无效的,直接被后面的覆盖了。
如果要达到你的目的,需要让浏览器强行重绘。