IE6 更新 DOM 树 鬼影 GHOST 固定宽度

用JavaScript更新DOM树的节点,先用
element.innerHTML = ”;
把节点内容清空,然后再用
element.appendChild(newNode) ;
插入新节点。

本来操作没什么问题,但是在IE6下,完成 DOM 更新后,附近区域内容的显示会出现问题。

现象是,当光标移动到某些链接上时,部分相邻的内容突然消失!

如果在消失的部分点击一下,那部分内容就恢复正常显示,然后上述问题就彻底消失。

以前写过blog说明这类问题的解决办法,不过那次是因为li元素宽度超过了父层容器。我记得好像是用zoom:1的样式表来处理的,详情请看:IE6 float 异常 消失

这回不是float的问题,是JavaScript造成的。

解决办法用的是给父层容器定义一个绝对宽度,问题解决!

Tags: ,

2 comments

  1. IE的渲染问题,往往可以通过使其haslayout来修正。

    最常出现的就是多个元素的宽度高度动态影响,这就会导致IE出现渲染问题,如鬼影。

    找找原因,不要让长度动态影响可以解决大部分的IE渲染问题

Leave a Reply

Your email address will not be published.

*