Javascript CSS:另一个绝对元素中的绝对元素
我创建了一个大div(div1,在图1.1中),并将其设置为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示例
position:absolute
。这个div是页面的内容容器,在这个div内是所有其他元素。我这样做的原因是为了消除浏览器中滚动时的反弹:
位置的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;
}