2013-03-11 47 views
0

我有使用不可见元素原因空白空间

visibility:hidden;

隐藏着一个隐藏的元素,但它仍然占用空间的页面,这将是,如果它是可见的。这导致一些其他元素被进一步推下页面,看起来很奇怪。它隐藏的原因是因为它只会显示在手机上。有什么办法可以删除这个空的空间吗?

回答

5

visibility: hidden一个元素仍占用页面空间。如果您想从布局流程中移除一个元素,请使用display: none虽然您仍然可以在DOM中与它进行交互,但display:none将允许其他元素占用将分配给它的空间。

还要注意的是,无论visibility: hiddendisplay: none事件响应。

+0

我正在使用jQuery的slideToggle来隐藏和显示它。这会影响它吗? – muttley91 2013-03-11 15:06:10

+0

不顾这个问题。我的问题与双方的知名度有关,以及在我藏起来的部分之外有一些额外的
标签。 – muttley91 2013-03-11 15:49:56

+0

无论如何,我会回答,为了未来的访问者:jQuery'slideToggle'方法实际上通过在动画之后设置'display:none'来工作。所以,不,元素不会占用空间。 – Sunyatasattva 2013-03-11 16:04:35

1

没有看到你的代码...漂亮很难做......但默认情况下是display:none

0
visibility:hidden; 

只是让隐藏的元素,但不会从布局

使用

删除
display:none; 

将其从版面中删除。

0

这是因为visibility: hidden;只隐藏该元素,相当于使其100%透明。

display: none;然而,将隐藏你的元素像visibility: hidden;,但会多一步,有效地从你的网页中删除(它不实际上删除它,它只是给这种效果)。