2012-03-06 148 views
0

所以我在我的页面上有两个div元素,一个直接在另一个之上。一个可见性:隐藏,另一个可见。我有一个交换他们的可见性的按钮,每次点击可见的div被隐藏,隐藏的div就会变得可见。 div的高度要求浏览器垂直滚动,但它们的高度是不同的。如果我把较短的一个做成可见的,我仍然可以尽可能地向下滚动,如果可以看到较高的那个。所以当显示较短的div时,下面会有一堆空的空间,因为你可以向下滚动。我如何制作它,这样窗口只会滚动到需要显示VISIBLE内容的程度?谢谢。CSS:只滚动到可见内容

+2

是否有一个原因,你不能使用display:none而不是'visibility:hidden'? – JJJ 2012-03-06 09:41:29

+1

你能展示一些HTML和/或CSS吗? – HerrSerker 2012-03-06 09:41:32

回答

3

使用display:none而不是visibility:hidden。然后,如果您想要再次显示隐藏的div,只需使用display:block即可。

visibility:hidden保留div使用的空间,它只是不呈现它。相比之下,显示器:无法完全去除元素,包括它通常占用的空间。

2

这应该帮助你。 visibility:collapse将div完全隐藏,同时仍然保留在页面上。让他们都能解决你的问题。

visibility: collapse; 
display: none;