【发布时间】:2015-09-24 06:48:31
【问题描述】:
我的csspp library and tool 有一个使用固定页眉和页脚的页面。当浏览器宽度至少为 1,300 像素时,这些是固定的。
我遇到的问题是,当这些对象被固定时,它会改变用户可以看到的区域的大小。但是,当您使用 Page Up 和 Page Down 时,不会考虑这些固定对象(至少默认情况下不会)。换句话说,当您执行 Page Down 时,浏览器不会在可见区域看到下一页,而是向下滚动 一整页。我希望能够告诉浏览器滚动可见数据的高度(即下图中箭头的长度)。 Page Up 也有同样的问题。如果您从页面底部开始向上翻一页,您将丢失大约等于页眉 + 页脚高度的数据。
我的问题是:是否可以使用 CSS 3 和/或 HTML 5 来解决此滚动高度问题?
我已经看到在各种网站上工作,例如wired.com(他们有一个固定的标题),但他们使用了大量的 JavaScript,所以我认为他们破解了 JavaScript 中的滚动......
【问题讨论】:
-
感谢您编辑问题,我认为您想要实现的目标现在更清楚了。但我怀疑是否有办法仅使用 HTML 和 CSS 来实现这一点。通过 JS “伪造”这一点可能会涉及使用一个具有更高(计算)高度的元素来让浏览器“认为”实际上还有更多要滚动,然后将滚动量“转换”为更短的实际移动通过操纵 body 元素上的边距,或将内容区域定位在 body 内,或类似的东西...
-
谷歌搜索一下,这个问题之前就出现过(嗯,这并不奇怪)——有一个Mozilla bug report,还有一个discussion on codingforums.com,这里指的是SO,@ 987654324@。后者提供了一个使用
keydown处理程序的解决方案,也许您想尝试一下。 -
我还发现了一个名为thepetedesign.com/demos/onepage_scroll_demo.html 的有趣页面,我认为它可以满足我的需要,但我想知道是否可以找到适用于正常浏览器行为的解决方案...... OnePageScroll 是实际上是一个 jQuery 扩展,所以很容易使用。该代码当然是可重用的,以使我试图在视觉上按预期工作。