【问题标题】:Anonymous table cells - do they affect reflow/repaint performance?匿名表格单元格 - 它们会影响回流/重绘性能吗?
【发布时间】:2014-11-10 08:33:20
【问题描述】:

老式的 micro clearfix hack 是基于使用空白表格元素来防止边距折叠和清除浮动。它提到这种行为会创建匿名表格元素,因为每个 HTML 表格都需要这些元素按设计存在,因此据我了解,重绘周期为每个 clearfixed 元素处理 6 个新的空白元素(表格 + 匿名行 + 匿名单元格 * 2) .这在回流/重绘周期中是否有任何与性能相关的缺点?你将如何测试这个?

.cf:before,
.cf:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.cf:after {
    clear: both;
}

【问题讨论】:

  • 这个问题主要是如何基于意见的?除非您将每个实现都视为“意见”。
  • 不知道,匿名表格单元格是现实。

标签: html css performance dom


【解决方案1】:

它不会污染 DOM,但可以计算对象以用于渲染目的。实现可能能够优化它们。

但是在渲染过程中会计算各种框。不需要特别关注这些。

【讨论】:

  • 抱歉,我正在寻找不那么投机的东西。你基本上说你不知道。
  • 一点也不。我基本上说“不”。
  • 在 1000 个“计算”列表项的测试页面上,您不能有 6000 个额外元素,并且效果完全为零。当然,可能会有优化——但“可能”不能作为答案——你会怀疑没有任何人提及它。
  • @mystrdat:我认为他的意思是“不,匿名表格单元格不会污染 DOM”。因为匿名盒子不代表 DOM 中的任何东西——这就是它们被称为匿名盒子的原因。但这并没有解决关于回流/重绘的部分,我怀疑这是你真正有兴趣知道的。
  • 啊,我明白了,实际上在我的问题中指出了一个错误 - 我知道伪元素不是 DOM 树本身的一部分,但它们被渲染并且很可能会影响重绘周期你说。我的错误@Alohci,我会纠正这个问题。
猜你喜欢
  • 2010-09-09
  • 2014-08-28
  • 1970-01-01
  • 1970-01-01
  • 2021-03-09
  • 2014-09-06
  • 1970-01-01
  • 2021-09-03
  • 2019-04-11
相关资源
最近更新 更多