我有一个页面,用户可以动态添加文件上传框。添加这些框会改变它们所在的div的高度,但它下面的div的某些元素会保留在相同的位置,因此它们开始与新的DOM元素重叠。
这在IE8,火狐,Chrome中都能正常工作。如何强制IE7使用新的动态超文本标记语言回流页面?
我想出的最好的解决方案是:
window.resizeBy(1, 0);
setTimeout(UndoResize, 0);
但它不适用于最大化窗口(它会恢复窗口)。
发布于 2009-11-10 01:25:20
尝试:
element.className = element.className;
在修改后的div上(或者可能是它的父级,甚至是更远的祖先,这取决于各种因素,比如相对定位的容纳)。
当className
被赋值时,IE将回流并重新绘制页面的该部分,以防影响该元素的CSS发生更改。幸运的是,它没有被优化来检查className
的值是否与它之前的值实际发生了变化,所以上面的操作将触发回流而不会破坏其他任何东西。
我确实发现有一次这个修复了IE6但破坏了IE7,但是尝试一下,看看它是否适用于您。
https://stackoverflow.com/questions/1702399
复制相似问题