每种应用风格都会发生一次回流吗?

时间:2011-07-31 23:30:33

标签: javascript html css dom browser

当我在javascript中执行此操作时:

element.style.width="100px";
element.style.height="100px";

我是否可以说文件中有2次回流?

如果我这样做:

element.setAttribute("style","width:100px;height:100px;")只有1次回流?

(我知道后者只会覆盖所有其他先前设置的样式)

附带问题:我们有什么方法可以停止猜测并确切地检查浏览器中发生了多少回流(Chrome / FF /等)?

2 个答案:

答案 0 :(得分:4)

是的,第一个例子中将有两个回流,而第二个例子中只有一个回流。查看When does reflow happen in a DOM environment?

答案 1 :(得分:2)

  

当我在javascript中执行此操作时:

     

element.style.width = “100像素”;
  element.style.height = “100像素”;

     

我是否可以说文件中有2次回流?

最不可能的。回流占用(相对)大量时间,因此它们往往只在JavaScript执行期间发生,例如当一段JavaScript读回依赖于它的布局的属性时,例如offsetWidth。

但细节将取决于实现。