强制 WebKit 重绘以应用样式更改
在某些情况下,JavaScript 样式更改可能无法在 Chrome 和 Safari 等 WebKit 浏览器中传播。当操作元素的类或样式时,尤其是受影响的元素共享父级和兄弟级关系时,可能会发生这种情况。
为了解决这个问题,可以采用一种解决方法来强制 WebKit 执行重绘或重绘,从而传播风格的变化。名为 Vasil Dinkov 的用户发现了一个简单的 hack,涉及切换受影响元素的显示属性:
sel.style.display='none'; sel.offsetHeight; // no need to store this anywhere, the reference is enough sel.style.display='';
通过暂时隐藏元素然后再次显示它,此代码强制 WebKit 重新绘制元素,确保应用样式更改。请注意,据报道,此解决方案对于“块”等样式有效。建议进一步测试以确定其对其他样式类型的适用性。
以上是如何强制 WebKit 重新绘制并应用样式更改?的详细内容。更多信息请关注PHP中文网其他相关文章!