CSS:仅滚动到可见内容

时间:2012-03-06 09:39:56

标签: css html scroll visibility

所以我的页面上有两个div元素,一个直接在另一个上面。一个具有可见性:隐藏,另一个可见。我有一个按钮可以交换他们的可见性,每次点击它时隐藏的可见div和隐藏的div变得可见。 div都有高度,需要浏览器垂直滚动,但它们的高度不同。如果我将较短的一个制作为可见的一个,我仍然可以向下滚动,如果较高的一个可见的话。因此,当显示较短的div时,它下面有一堆空的空间,因为你可以向下滚动远远超过它。如何制作它以使窗口只滚动到显示可见内容所需的范围?感谢。

2 个答案:

答案 0 :(得分:3)

使用display:none代替visibility:hidden。然后,如果您想再次显示隐藏的div,只需使用display:block。

visibility:hidden保留div使用的空间,它只是不呈现它。相比之下,display:none有效地完全删除了元素,包括它通常占用的空间。

答案 1 :(得分:2)

这应该可以帮到你。 visibility:collapse完全隐藏div,同时仍保留在页面上。让他们两个都应该解决你的问题。

visibility: collapse;
display: none;