我有一个元素,我称之为back被另一个元素覆盖front。
Back在 CSS 中设置以在悬停时更改颜色。Front设置为,当悬停时,1s延迟后消失,并且元素上的鼠标指针Front现在位于后元素上。
Frontheight: 0通过在 JavaScript 中设置消失。消失后Front鼠标指针悬停在Back浏览器上不会重新渲染悬停效果Back,导致其颜色没有按应有的方式更改。
当我通过自然地Front从 DOM 中删除来尝试相同的示例时,它可以正常工作。但是,我的应用程序需要我通过设置height: 0.
您可以在以下示例中亲自尝试。您将看到一个红色框和一个蓝色框。红色是Front,蓝色是Back。当您将鼠标指针移至红色框时,红色框的颜色变为green。当您将鼠标移到蓝色框上时,一秒钟后,它会消失。
该示例的重点是表明在蓝色框消失后,鼠标指针现在悬停在红色框上,因此应该变为green。
在这个例子中,蓝色的盒子完全从 DOM 中移除,它的工作和预期的一样好。
但是,在此示例中,蓝色框将通过设置 删除height: 0。green消失后,红色元素直到我移动鼠标后才会变为。
有没有办法强制浏览器重新渲染?
该问题在 Google Chrome 和 Microsoft Edge 中仍然存在。火狐很好用。