Html 高度和溢出受限的可滚动div:auto不';t触摸式滚动(仅限Chrome和Safari)

Html 高度和溢出受限的可滚动div:auto不';t触摸式滚动(仅限Chrome和Safari),html,css,google-chrome,touch,mobile-safari,Html,Css,Google Chrome,Touch,Mobile Safari,我有一个固定位置的容器div,粘在屏幕的顶部和底部。在该容器中,我有一个可滚动的div: .content-container { position: fixed; top: 0; bottom: 0; left: 0; right: 0; } .inner-scroll-pane { height: 100%; overflow-y: auto; overflow-x: hidden; } 这在所有桌面浏览器(

我有一个固定位置的容器div,粘在屏幕的顶部和底部。在该容器中,我有一个可滚动的div:

.content-container {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}

.inner-scroll-pane {        
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
}
这在所有桌面浏览器(使用鼠标滚轮或触摸板)上都能很好地工作。但是,.internal滚动窗格div在触摸屏(移动浏览器和触摸笔记本电脑)上无法正常滚动

平移内部div一开始不会滚动-相反,它会尝试平移整个页面,整个页面刚好会反弹(因为它固定在屏幕大小上,没有任何可滚动的内容)。如果我首先点击.internal scroll pane div中的一个控件,将焦点放在其中,然后触摸平移工作正常,div就会滚动

(此外,这个问题只发生在触摸屏上的Chrome或Safari上。触摸屏上的Firefox和IE可以工作。)

基于,我尝试将容器更改为position:absolute,但没有任何区别

如何使内部div在触摸屏上滚动

更新:在进一步的调查中,似乎并没有明确的立场:固定父母是问题的根源(只是间接的原因)。发生此问题的原因是.internal scroll窗格div的高度受限制,然后使用overflow:auto(overflow:scroll也有相同的问题)。我已经更新了标题


那么,如何让触控平移立即在高度和溢出受限的div上工作呢?(无需先点击/将焦点放在div中)

在.inner滚动窗格中有什么内容?为什么它需要100%的高度?对我来说,将.content容器设置为100%宽度和高度以及overflow-y:auto会更有意义,然后将.inner滚动窗格设置为overflow:hidden。正如您在这里看到的:什么类型的内容在.inner滚动窗格中?为什么它需要100%的高度?对我来说,将.content容器设置为100%宽度和高度以及overflow-y:auto会更有意义,然后将.inner滚动窗格设置为overflow:hidden。正如你在这里看到的: