使用不同方法在Chrome/Mac 上強制DOM 重繪
在某些情況下,Mac 上的Chrome 可能無法正確重繪HTML/CSS 元素,即使程式碼有效。為了解決這個問題,開發人員經常訴諸使用 CSS 轉換或邊框操作來強制重繪。
使用 CSS 轉換的標準方法涉及暫時修改「-webkit-transform」屬性,檢索要觸發的 offsetHeight重繪,然後恢復原始變換值。但是,此方法不適用於 Chrome/Mac。
要克服此限制,另一種方法是切換邊框屬性,有效地強制元素稍微跳躍,然後恢復到其原始狀態。這種方法需要超時以確保有足夠的時間進行重繪。
答案中建議的另一種方法涉及隱藏和顯示需要重繪的元素的父元素。這個簡單的重繪可能足以滿足大多數情況。
對於更複雜的情況,「forceRedraw」函數會在元素中插入一個空白文字節點,然後將其刪除,以確保重繪。此函數中的超時控制視覺跳躍的速度。
了解強制回流
此處描述的技術旨在強制“回流”,這是一個過程,瀏覽器重新計算文檔的佈局。透過觸發回流,這些方法可確保瀏覽器正確呈現受影響的元素。
以上是如何在 macOS 上的 Chrome 中強制 DOM 重繪?的詳細內容。更多資訊請關注PHP中文網其他相關文章!