添加没有样式信息的类会导致重排吗?

Posted

技术标签:

【中文标题】添加没有样式信息的类会导致重排吗?【英文标题】:Will adding a class without style information cause reflow? 【发布时间】:2021-02-13 14:40:09 【问题描述】:

添加一个没有任何关联样式信息的类(例如,该类没有 CSS 条目)会导致重排或其他一些重要的同步处理吗?答案是否适用于大多数浏览器,或者仅适用于例如旧浏览器?

我确实尝试过使用 FF 性能监视器进行实验,但我不够熟练,无法解释结果;添加类后,瀑布确实显示了布局,但我无法得出任何真正的结论。

【问题讨论】:

【参考方案1】:

没有。

这会导致样式应用失效,但是当浏览器执行重新评估时,它会看到元素的影响布局的计算属性没有改变,所以它不会触发布局 - 甚至不会触发重绘。

请记住,不同的 CSS 属性在更改时可能会触发重新布局(例如width),其他的只会触发重绘(例如background-color),而其他的则什么都不做(例如voice-family,即在(现已过时的)Aural 模块中,该模块独立于 visual 格式模型)。

【讨论】:

以上是关于添加没有样式信息的类会导致重排吗?的主要内容,如果未能解决你的问题,请参考以下文章

在类定义中使用内置数组,但大小推迟到派生类会导致隐藏吗?

重绘(redraw或repaint),重排(reflow)

在 Windows 窗体中使用 C++ 类会导致 System.AccessViolationException

C++ 中的内部类会自动成为朋友吗?

页面性能优化和高频dom操作

使用 Windows Facebook SDK 的 FBUser 类会丢失信息