使用不同方法在 Chrome/Mac 上强制 DOM 重绘
在某些情况下,Mac 上的 Chrome 可能无法正确重绘 HTML/CSS 元素,即使代码有效。为了解决这个问题,开发人员经常诉诸使用 CSS 转换或边框操作来强制重绘。
使用 CSS 转换的标准方法涉及临时修改“-webkit-transform”属性,检索要触发的 offsetHeight重绘,然后恢复原始变换值。但是,此方法不适用于 Chrome/Mac。
要克服此限制,另一种方法是切换边框属性,有效地强制元素稍微跳跃,然后恢复到其原始状态。这种方法需要超时以确保有足够的时间进行重绘。
答案中建议的另一种方法涉及隐藏和显示需要重绘的元素的父元素。这个简单的重绘可能足以满足大多数情况。
对于更复杂的情况,“forceRedraw”函数会在元素中插入一个空文本节点,然后将其删除,以保证重绘。此函数中的超时控制视觉跳跃的速度。
了解强制回流
此处描述的技术旨在强制“回流”,这是一个过程,浏览器重新计算文档的布局。通过触发回流,这些方法可确保浏览器正确呈现受影响的元素。
以上是如何在 macOS 上的 Chrome 中强制 DOM 重绘?的详细内容。更多信息请关注PHP中文网其他相关文章!