一尘不染

什么是DOM回流?

html

我正在阅读有关两个CSS属性之间的区别display:nonevisibility:hidden并且遇到了 DOM重排 术语。

该声明是

display: none导致DOM回流,而visibility: hidden没有。

所以我的问题是:

什么是DOM重排及其工作方式?


阅读 477

收藏
2020-05-10

共1个答案

一尘不染

一个 回流
计算页面的布局。元素上的重排会重新计算元素的尺寸和位置,并且还会触发该元素的子元素,祖先元素和出现在DOM中的元素的进一步重排。然后调用最后的重涂。回流非常昂贵,但不幸的是它很容易触发。

回流发生在以下情况:

  • 在DOM中插入,删除或更新元素
  • 修改页面上的内容,例如输入框中的文本
  • 移动DOM元素
  • 为DOM元素设置动画
  • 进行元素的测量,例如offsetHeight或getComputedStyle
  • 更改CSS样式
  • 更改元素的className
  • 添加或删除样式表
  • 调整窗口大小
  • 滚动

有关更多信息,请参见此处:重绘和重排:负责地操作DOM

2020-05-10