【问题标题】:Is it possible to limit / adjust the scroll height of a browser page?是否可以限制/调整浏览器页面的滚动高度?
【发布时间】: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 扩展,所以很容易使用。该代码当然是可重用的,以使我试图在视觉上按预期工作。

标签: html css scroll


【解决方案1】:

是的!

<div class="header">
</div>
<div class="content">
...
</div>
<div class="footer">
</div>

.header {
    height: 35px;
}
.content {
    overflow-y: scroll;
    position: absolute;
    top: 35px;
    bottom: 35px;
}
.footer {
    bottom: 0;
    position: absolute;
    height: 35px;
    width: 100%;
}

http://jsfiddle.net/p3Lk0Lam/2/

【讨论】:

  • 只是想知道...既然已经定义了顶部/底部,为什么还需要定义高度?这还不够吗?
  • 否则,我希望有一个解决方案,我们不将滑块放在页面中,而是使用主浏览器(“正常”/窗口)滑块。我已经知道将滑块移动到部分/div。但我宁愿避免这样做。这些滑块看起来不同,您通常需要单击正确的区域以使 Page Up / Page Down 正常工作......这很麻烦。
  • 我明白你的意思。您可以进一步使用 css 来摆脱丑陋的滚动条,但是需要单击正确区域才能 Page Up / Page Down 的问题仍然存在。如果没有一点点 js 胶水,就无法想出任何解决整个问题的方法。
【解决方案2】:

UPD2

如果您的内容包装器中有滚动条而不是页面中的滚动条没问题,您可以将overflow: scroll 设置为内容包装器,并使用calc() 或其他方式为其设置适当的高度。

【讨论】:

  • 您认为position: fixed 在他展示的示例图片中代表...?
  • @CBroe 没有提供原始代码。并提到了很多javascript代码和一些库。不需要 javascript 或库。
  • “不需要 javascript 或库” - 不是你所描述的;但这似乎并不是这个问题的真正含义。
  • 我的问题中有一个链接到我的页面,其中包含所有代码,而“固定”位置不是问题。问题是关于滚动、Page Up 和 Page Down 键。我还提到了 1,300 像素宽,因为它具有 @media 条目,可以使页面在手机上运行。
  • 您能否更清楚地了解 Page Up 和 Page Down。他们有什么问题?
猜你喜欢
  • 2016-04-28
  • 2016-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多