当overflow:hidden css属性设置为<html>标签只能在Firefox中使用

Page shifts up when overflow:hidden css property is set to <html> tag only in Firefox

本文关键字:标签 Firefox html 属性 css hidden 设置 overflow      更新时间:2023-09-26

我的网页高度相当长,我有一个要求,就像当我在页面中有一个模态对话框,页面滚动条必须被禁用。由于模态对话框中有一个滚动条,一旦模态对话框滚动条结束,页面滚动条将被激活。为了解决这个问题,我添加了这段代码到JQuery模态对话框方法。

   open: function () {
        $("html").css("overflow", "hidden");
        return false;
    },
    close: function () {
        $("html").css("overflow", "visible");
        return false;
    }

现在我在页面的底部打开模态对话框的页面移动到顶部只有在Firefox浏览器,这是因为溢出:隐藏属性添加到标签,由于这个我不能看到模态对话框打开,这是在页面的底部打开。

但是这段代码在除Firefox之外的所有其他浏览器中都能正常工作(Page不会上移)。

有没有人可以建议我修复任何其他方法来禁用页面滚动条或如何阻止页面仅在Firefox中向上移动。

谢谢Gopi

我个人将css属性附加到您的元素,而不是一个,因为有一个机会,该属性被继承。只是一个想法。

在没有看到页面的情况下很难判断,但是这个可能是由于overflow集被中断后的回流引起的。如果在css()调用之后添加回流冲洗(例如document.body.offsetWidth),这有帮助吗?