Javascript 禁用滚动使内容向右移动

Javascript 禁用滚动使内容向右移动,javascript,html,css,Javascript,Html,Css,请看一下这个网站 所以当我点击一个表格行时,边栏从右边打开。在这里,我给身体禁用滚动有两个目的:第一个是肯定地禁用滚动体时,侧边栏打开,第二个是隐藏侧边栏中的滚动条,否则我会有2个滚动条并排。 我的问题是,当打开侧边栏时,内容(以表格为中心,搜索)会向右移动。因此,我如何解决这个问题,使内容保持在原来的位置 感谢您在html元素上添加“禁用滚动”类并添加以下代码 html.disable-scroll{ height: 100vh; overflow: hi

请看一下这个网站

所以当我点击一个表格行时,边栏从右边打开。在这里,我给身体禁用滚动有两个目的:第一个是肯定地禁用滚动体时,侧边栏打开,第二个是隐藏侧边栏中的滚动条,否则我会有2个滚动条并排。

我的问题是,当打开侧边栏时,内容(以表格为中心,搜索)会向右移动。因此,我如何解决这个问题,使内容保持在原来的位置

感谢您在html元素上添加“禁用滚动”类并添加以下代码

  html.disable-scroll{
        height: 100vh;
        overflow: hidden;
    }

    html.disable-scroll body{
        overflow: scroll;
    }

请阅读发生这种情况的原因是,当浏览器滚动条消失时,窗口会稍微变宽,从而重新定位主容器(因为它使用
auto
左边距和右边距居中)。不幸的是,我想不出一个简单的方法来修复它,同时保持滚动禁用时,菜单是打开的。[事实上,我刚刚想到了一种可行的方法-将
overflow-y
设置为
scroll
,而不是
hidden
-这样滚动条就会一直在那里。不幸的是,如果表格不滚动就放在窗口中,那就不会正常工作了。]谢谢,这并不能100%解决我的问题,但无论如何,谢谢。实际上你的回答几乎解决了我的问题。唯一的一点是,当我第一次打开侧边栏并在下次打开时保持在相同的位置时,内容会发生变化。每次在我的电脑上使用chrome时,我都会在windows上使用不同的浏览器和操作系统。