Javascript CSS:另一个绝对元素中的绝对元素

Javascript CSS:另一个绝对元素中的绝对元素,javascript,html,css,styling,Javascript,Html,Css,Styling,我创建了一个大div(div1,在图1.1中),并将其设置为position:absolute。这个div是页面的内容容器,在这个div内是所有其他元素。我这样做的原因是为了消除浏览器中滚动时的反弹: 我的问题是,如果我在大div中有其他绝对div。在图1.1中,可以看到带有位置的div2:绝对,如果div1正在滚动,则div2行为就像一个固定元素。Div2只是一个例子,我有很多绝对元素,比如Popover,相对不是一个选项 当div1随着页面滚动而移动时,我如何对div2(在图1.1示例

我创建了一个大div(div1,在图1.1中),并将其设置为
position:absolute
。这个div是页面的内容容器,在这个div内是所有其他元素。我这样做的原因是为了消除浏览器中滚动时的反弹:

我的问题是,如果我在大div中有其他绝对div。在图1.1中,可以看到带有
位置的div2:绝对
,如果div1正在滚动,则div2行为就像一个固定元素。Div2只是一个例子,我有很多绝对元素,比如Popover,相对不是一个选项

当div1随着页面滚动而移动时,我如何对div2(在图1.1示例中)说

代码示例
图像示例(图1.1)

正道 我知道有很多相关的答案,但它们都与我的问题大不相同

相关问题:


    • 我还有其他解决方案。为了修复iPad的overscroll,我写了一个小脚本,修复了“滚动反弹”/“overscroll”

      首先,您不需要彻底更改布局并使用绝对div。第二,卷轴仍然是“本地的”

      有两个问题: 1) 目前只支持水平过卷修复 2) 您的内容(将被滚动)应包装在单个元素(包装器)中

      您可以在iPad上测试此脚本:


      示例的源代码

      绝对定位是一种非常糟糕的网页布局方法。它是非常不灵活的,有更好的和更具响应性的选项,我认为div1应该是位置:相对的,应该是位置:绝对的。但是如果没有示例代码,很难判断。另一方面,我认为您不应该更改浏览器的默认行为。人们期望他们的浏览器以某种方式运行(事实上,这就是他们选择浏览器的原因),违背规范可能会损害你的声誉。@Paulie_D设置为
      绝对值
      是我发现的消除浏览器中滚动条反弹的唯一方法。@Prinsig我不明白你为什么说将绝对值放在正文上。我现在在问题中添加一个示例代码。
      
      html, body {
          height: 100%;
          overflow: hidden;
      }
      
      .div1 {
         position: absolute;
         top: 0;
         bottom: 0;
         left: 0;
         right: 0;
         overflow: auto;
      }
      
      div2{
         position: absolute;
      }