Android CSS滚动条根据距离顶部边界的距离偏移 - 为什么?

时间:2013-09-14 15:01:00

标签: android html css google-chrome overflow

我正在为Android / Chrome和iPad / Safari编写HTML5应用。在其中我创建了一个带溢出的DIV:auto和top:XXpx。这是一个示例:

<div id="divVerticalList" style="width: 180px; height: 600px; position: absolute; left: 100px; top: 200px;">
  <div id="divVerticalListUL" style="overflow: auto; width: 100%; height: 93%;">
    <ul id="distDV" class="pickList">
      <li id="distDVu30" value="30" class="evenLi">+30</li>

如果top:0px,则divVerticalListUL出现在屏幕顶部,滚动条从divVerticalListUL的顶部开始运行。滚动条的大小适当,用于显示DIV高度中列表内容的分数。滚动列表即可。

如果顶部:100px,则DIV显示为100像素,滚动条从DIV开始向下100像素。它应该从DIV开始的地方开始。滚动条高度应该是它应该是的。当我滚动列表时,滚动会经过预期的高度,但100px太低。滚动条的底部延伸到DIV底部的下方。

明显的解决方法是使用top:0px。有更好的答案吗?

提前致谢, 杰罗姆。

1 个答案:

答案 0 :(得分:0)

在没有看到现场演示的情况下调试它真的很难,但是这里有。我假设您在divVerticalList上设置top:0px,这是有道理的,您已将divVerticalList列表设置为绝对位置,这意味着它在文档坐标中将divVerticalList的顶部设置为100px。这意味着divVerticalListUL也是距文档顶部100px。

93%的高度计算基于600px的93%,因此当你设置顶部:100px时,视口的末端是700px(600 + 100px),但你仍然是600px高。内部元素的大小仍然是600%= 558像素的93%,在大多数情况下仍然会从屏幕上滑落。