我正在阅读有关两个CSS属性之间的区别display:none,visibility:hidden并且遇到了 DOM重排 术语。
display:none
visibility:hidden
该声明是
display: none导致DOM回流,而visibility: hidden没有。
display: none
visibility: hidden
所以我的问题是:
一个 回流 计算页面的布局。元素上的重排会重新计算元素的尺寸和位置,并且还会触发该元素的子元素,祖先元素和出现在DOM中的元素的进一步重排。然后调用最后的重涂。回流非常昂贵,但不幸的是它很容易触发。 回流发生在以下情况: 在DOM中插入,删除或更新元素 修改页面上的内容,例如输入框中的文本 移动DOM元素 为DOM元素设置动画 进行元素的测量,例如offsetHeight或getComputedStyle 更改CSS样式 更改元素的className 添加或删除样式表 调整窗口大小 滚动
一个 回流 计算页面的布局。元素上的重排会重新计算元素的尺寸和位置,并且还会触发该元素的子元素,祖先元素和出现在DOM中的元素的进一步重排。然后调用最后的重涂。回流非常昂贵,但不幸的是它很容易触发。
回流发生在以下情况:
有关更多信息,请参见此处:重绘和重排:负责地操作DOM