当您显示和隐藏div时,它会自动重新调整周围的元素吗?

时间:2009-05-28 18:59:07

标签: javascript ajax

当您显示和隐藏div时,它会自动重新调整周围的元素吗?

谷歌地图http://maps.google.com/maps?hl=en&tab=wl的小图标如何显示/隐藏左窗格。

它是仅仅通过动画效果使其可见还是比它更精细?

3 个答案:

答案 0 :(得分:8)

在重新调整方面,如果您使用的是CSS,那么它取决于天气与否,您使用display:none选项或visibility:hidden标签。

可见性会隐藏它但不会影响周围的元素,另一方面 display 会...

查看这一段应强调此内容的代码......

<div style="border: solid 2px black;">
    <div style="visibility: hidden;">
        Hello
        <br />    
    </div>
</div>

<br />

<div style="border: solid 2px black;">
    <div style="display: none;">
        Hello
        <br />    
    </div>
</div>

希望它有所帮助!的:)

答案 1 :(得分:3)

任何进入/退出正常流程的元素(默认定位)都会导致页面的其余部分相应地重新调整。但是,有一些方法可以从正常流中删除元素。

position: absoluteposition: relative会从正常流中删除元素。使用这些元素时,其他元素的行为就像定位元素不存在一样(除非它们也使用定位规则)。

隐藏/显示div:

display: none
将从正常流量中移除元素

visibility: hidden
将隐藏元素,但将其尺寸保持在正常流程

答案 2 :(得分:0)

取决于它是相对位置还是绝对位置。 在Google示例中,它更复杂,但并不复杂,动画完成后,面板右侧的控件将被移动。