style.visibility和style.display之间的区别

时间:2011-09-06 22:31:47

标签: javascript css

  

可能重复:
  What is the difference between visibility:hidden and display:none

我正在查看使用JavaScript隐藏/显示div标记的示例。 在某些示例中,他们使用visibility和某些display

e.g。

document.getElementById("divhotel").style.visibility = "hidden";

VS

document.getElementById("divhotel").style.display = "none";

两者有什么区别?

3 个答案:

答案 0 :(得分:12)

当您将visibility设置为hidden时,该元素不会显示,但仍占用页面上的相同空间。

当您displaynone时,该元素既未显示也未占用页面上的任何空格。

我经常会发现自己使用display,但这取决于您的方案需求。

答案 1 :(得分:2)

visibility是元素的呈现方式,无论值是什么,它仍然存在的块。因此,项目可能会被推开。 display是如何呈现页面的:blockdiv类型元素,带有完整的盒子模型; none元素根本不会呈现给页面; inline是一个内联元素,例如span或锚标记。

答案 2 :(得分:0)

啊,亲爱的Google

“style.visiblity使元素可见或隐藏,它仍然呈现并占用页面上的空间,即使您看不到它。如果将style.display设置为”none“,则不会处理标记,不会占用页面上的空间。“