在复杂 DOM 中动态调整框高度是否不高效
Is it imperformant to adjust a box height dynamically in complex DOM?
快速摘要:我们的网上商店中有一个侧边栏。有三个盒子堆叠在一起。其中每个都显示类似于产品的幻灯片(图片,名称和价格信息(。这些幻灯片的高度各不相同。载玻片每隔几秒钟在产品之间循环,收纳盒的高度会自动调整。
DOM 中的所有封闭元素以及整个页面布局都需要重新计算并因此重新呈现,这是真的吗?
DOM 环境中何时发生回流?
根据前面的问题,
添加或删除 DOM 节点时。
动态应用样式时(例如 element.style.width="10px"(。
。发生 DOM 回流(您将受到轻微的惩罚(。
什么是"回流焊"?
重排是 Web 浏览器进程的名称,用于重新计算文档中元素的位置和几何形状,以便重新呈现部分或全部文档。(https://developers.google.com/speed/articles/reflow(
如果包含框的高度是"自动调整",则可能是:
- 将图像添加到"幻灯片"中,这算作"添加 DOM 节点"。
- 将图像设置为元素的CSS背景,并使用"动态样式"调整该元素的尺寸。
在这两种情况下,根据引用的问题,您都有资格进行回流。
为了性能起见,最好将 DOM 交互保持在最低限度。为这些框提供固定大小,并使用CSS很好地居中/适合您的图像,将是明智的。
虽然在大多数情况下这可能不是一个好主意,但您也可以遵循Google的建议:
如果进行复杂的渲染更改(如动画(,请在流程之外执行此操作。使用绝对位置或固定位置来实现此目的。
但是绝对或固定你的元素可能会很快让你的CSS变得一团糟。请谨慎使用。
而且,在处理DOM时要运用常识;避免执行昂贵的任务,但也不要太纠结于优化。
相关文章:
- 表的高度是否随着行中内容的增加而变化
- 当只给定宽度或高度时,是否所有浏览器都按比例缩放图像
- 图像是否保证至少具有 1 个宽度和 1 个高度
- 在复杂 DOM 中动态调整框高度是否不高效
- 检测用户浏览器高度是否>=页面正文高度
- 是否可以从内部更改iframe的宽度/高度
- html5画布-是否需要内联定义宽度/高度
- 是否可以更准确地测量SVG文本高度
- 正在检测DIV的高度是否发生变化
- 是否可以将Canvas ID的宽度和高度属性设置为窗口大小的90%
- 是否可以将夏季注释的角度高度设置为父高度
- 是否有可能具有固定高度的全宽度JSSOR滑块
- 是否有可能增加一个额外的高度来平衡高度
- 是否可以使用jQuery来查找高度未定义的文本跨度的高度
- 是否有可能得到一个图像的高度/宽度,而不是在DOM
- 是否有一种方法可以测量用户在他的网站中可见的高度?
- 是否可以为树行设置不同的高度?
- 如何检测Javascript/JQuery对象是否有高度
- 是否有可能在IFrame中确定视频的高度?
- 如果元素是可见的,那么在jquery中设置宽度和高度是否有效?