【问题标题】:Setting "scrollTop" for overflowing element via HTML/CSS (without javascript)通过 HTML/CSS(无 javascript)为溢出元素设置“scrollTop”
【发布时间】:2012-02-04 02:24:01
【问题描述】:

假设我有以下html:

<div style="width:200px;height:200px;overflow:scroll">
  ...
</div>

如果这个 div 中的内容最终溢出,最流行的更改该项滚动位置的方法是使用 jQuery.scrollTop()。但是,我有一种情况,我想使用源 HTML 设置 div 的初始滚动位置。有没有办法做到这一点?我在网上看到的所有执行此操作的示例最终都使用 javascript。

我尝试的一种方法是在元素上编写一个 scrollTop 属性,如下所示:

<div scrollTop=20 style="width:200px;height:200px;overflow:scroll">
  ...
</div>

但是,这不起作用。当然,必须有一种方法可以通过 HTML/CSS 设置溢出项目的初始滚动位置...

这是此代码的完整版本,说明它不起作用 - 垂直滚动条保持在“0”:http://jsfiddle.net/gueBZ/1/

谁能帮我完成它?非常感谢您的任何指点!

【问题讨论】:

    标签: html scroll overflow scrolltop


    【解决方案1】:
    <div style="width:200px;height:200px;overflow:scroll">
        <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
        <div id="hello">autoscroll here</div>
        <br><br><br><br><br><br><br><br><br><br><br><br><br><br>
    </div>
    

    然后打开页面

    page.html#hello
    

    这是你唯一能做的,只有 HTML

    【讨论】:

    • 有趣 - 我同意这是对我的问题的部分答案(如果它是最好的,也是完整的答案。)我会看看是否有其他人有更好的答案(即让你设置以更标准的方式以像素为单位的滚动顶部位置),否则会将您的答案标记为解决方案。
    • 使用 HTML5 您也可以尝试“自动对焦”,但它仅适用于输入标签...为什么您不想使用 javascript?你可以自己实现 scrolltop="" 属性
    • @drcode 我几乎完全确定这是你唯一能用 HTML(包括 CSS)做的事情
    • 它是我正在整合的大型服务器端库的一部分,到目前为止它还没有 javascript。但是,如果 stackoverflow 说没有解决方案(此时似乎很可能),那么我可能只需要使用 javascript 来解决这个问题。感谢您的时间/帮助,韦斯。
    • @drcode 顺便说一句,在 html5 w3.org/Bugs/Public/show_bug.cgi?id=15876987654321@ 中有这个可能很酷
    猜你喜欢
    • 2019-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    相关资源
    最近更新 更多