隐藏/显示div时,Firefox页面"移动"

Mar*_*eon 0 html javascript firefox show-hide

我们有一个具有这种一般结构的网页:

<div id="container">
  <div id="basicSearch">...</div>
  <div id="advancedSearch" style="display: none">...</div>
<div>
Run Code Online (Sandbox Code Playgroud)

有了这个CSS:

#container { MARGIN: 0px auto; WIDTH: 970px }
#basicSearch { width:100% }
#advancedSearch{ width:100%;}
Run Code Online (Sandbox Code Playgroud)

我们在页面上有一个链接,允许用户在使用"基本"搜索和"高级"搜索之间切换.切换链接调用此Javascript:

var basic = document.getElementById('basicSearch');
var advanced = document.getElementById('advancedSearch');
if (showAdvanced) {
    advanced.style.display = '';
    basic.style.display = 'none';
} else {
    basic.style.display = '';
    advanced.style.display = 'none';
}
Run Code Online (Sandbox Code Playgroud)

这一切在IE中都很棒.

它也适用于Firefox - 除了 - 当我们从一个div切换(即:显示/隐藏)到另一个div时,页面在Firefox中"移动".当您来回切换时,"容器"中的所有文本向左/向右移动约5px.谁知道为什么?

Gre*_*reg 5

是否导致滚动条出现/消失?