Html 如何设置溢出:隐藏但仍使滚动条可见?
当显示modal时,我向body标记添加一个带有Html 如何设置溢出:隐藏但仍使滚动条可见?,html,css,overflow,Html,Css,Overflow,当显示modal时,我向body标记添加一个带有溢出:hodden的类。因此,模式背后的内容不会滚动。一切都很好 但是 如果原始页面足够大,可以有一个滚动条,那么当我打开modal时,我可以看到页面向右移动的丑陋。我找出了这种行为的原因溢出:隐藏导致滚动条消失,所以它会向右移动约10px 我的问题是如何解决这个问题。事实上,我需要应用溢出:隐藏,但仍然显示滚动条。 (函数(){ 让"滚动"位置,; 功能(e){ e、 预防默认值(); 滚动(…_滚动位置); } 函数锁(){ _scrollPo
溢出:hodden
的类。因此,模式背后的内容不会滚动。一切都很好
但是
如果原始页面足够大,可以有一个滚动条,那么当我打开modal时,我可以看到页面向右移动的丑陋。我找出了这种行为的原因<代码>溢出:隐藏导致滚动条消失,所以它会向右移动约10px
我的问题是如何解决这个问题。事实上,我需要应用溢出:隐藏,但仍然显示滚动条。
(函数(){
让"滚动"位置,;
功能(e){
e、 预防默认值();
滚动(…_滚动位置);
}
函数锁(){
_scrollPosition=[window.pageXOffset,window.pageYOffset];
$(窗口).on('scroll touchmove',preventScroll);
}
函数解锁(){
$(窗口).off('scroll touchmove',preventScroll);
}
返回{
锁
解锁
};
})();
是否可以包含HTML和CSS(如果可能的话,在JSFIDLE中)?@Roberrrt您需要什么类型的代码?我的应用程序在Meteor+React中,但任何代码都是不必要的,我的问题解释得足够好。可能类似于showModal(){$('body').css('overflow','hidden');}
和closeModal(){$('body').css('overflow','auto');}
。但你真的不需要。我想你不明白这个问题。我的错,我误解了你的问题。事实上,我已经提供了一个(可能的)解决方案,让我知道它是如何结束的!我也有同样的问题。可惜的是,即使在将近4年之后也没有解决办法!谢谢你的问候!问题是,我需要用户能够滚动模态的内容。在您的解决方案中,完全禁用滚动。可能的用例是使用窗口获取当前Y坐标。pageYOffset
,然后设置位置:fixed
和top:currentY px
。但是使用溢出:隐藏更容易做到这一点,这就是我想了解滚动条可见性的原因。