Javascript 放大弹出窗口显示灯箱前面的滚动条

Javascript 放大弹出窗口显示灯箱前面的滚动条,javascript,jquery,css,magnific-popup,Javascript,Jquery,Css,Magnific Popup,所以我一直在使用放大弹出窗口通过灯箱显示内容 起初,我遇到了滚动条消失,灯箱后面的内容向右移动的问题 所以我补充说 html{overflow-y:scroll;} 现在滚动条保持可见,右侧没有移动 问题是,在灯箱上方可以看到滚动条,这是我不希望看到的 您可以在页面的简化版本中看到问题(单击占位符): 不知道如何解决这个问题,如果它是可以解决的。在您的示例中,如果我添加边距:0(您可以通过填充来可视化地重新创建)到正文,并从html中删除overflow-y:scroll(或将其替换为auto

所以我一直在使用放大弹出窗口通过灯箱显示内容

起初,我遇到了滚动条消失,灯箱后面的内容向右移动的问题

所以我补充说 html{overflow-y:scroll;} 现在滚动条保持可见,右侧没有移动

问题是,在灯箱上方可以看到滚动条,这是我不希望看到的

您可以在页面的简化版本中看到问题(单击占位符):


不知道如何解决这个问题,如果它是可以解决的。

在您的示例中,如果我添加
边距:0
(您可以通过填充来可视化地重新创建)到
正文
,并从
html
中删除
overflow-y:scroll
(或将其替换为
auto
),我相信它的行为符合要求。这是一把小提琴:

是的,它很管用。我现在看到页面版本实际上太精简了,因为它仍然不能在更复杂的原始页面上工作。我想我得发一个新问题了。谢谢。我认为在你的新代码中,为了让事情“正常运转”(即避免双滚动条并避免向右移动),你必须从
html
中删除
overflow-y:scroll
,并在打开的回调中,将
padding right:17px
overflow:hidden
添加到
正文中,然后在关闭回调中删除这些样式(我认为,通过在回调中向
html
添加/删除一个类可能是最简单/最干净的),这是一个很好的观点。但是,滚动条17px在所有主流浏览器上都很宽吗?让我看看,或多或少。我想在Safari上不到17。我不明白的是,为什么其他Lightbox插件的滚动条保持在模式窗口之下。