Html 如何阻止滚动直到加载程序显示无?

Html 如何阻止滚动直到加载程序显示无?,html,css,web,loader,preloader,Html,Css,Web,Loader,Preloader,我想知道是否有办法阻止滚动条,直到一个div和它的加载程序到达显示none的点。我不知道这是否可以通过html或css来实现。有什么建议吗 #loader { background: #eeeeee; bottom: 0; height: 100%; left: 0; right: 0; top: 0; width: 100%; display:block; margin: 0 auto; position: re

我想知道是否有办法阻止滚动条,直到一个div和它的加载程序到达显示none的点。我不知道这是否可以通过html或css来实现。有什么建议吗

 #loader {
    background: #eeeeee;
    bottom: 0;
    height: 100%;
    left: 0;
    right: 0;
    top: 0;
    width: 100%;
    display:block;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
    z-index: 9999;
}
#loaderInner {
    background:#eeeeee url(https://dl.dropboxusercontent.com/s/asdfghfdsas/loader.gif) center center no-repeat;
    background-size: 250px 250px;
    position: absolute;
    height: 250px;
    width: 250px;
    display:block;
    margin: 0 auto;
    top: 50%;
    left: 50%;
    margin: -125px 0px 0px -125px;
}
body#layout #loader {
    display:none;
    overflow: scroll;
}

您可以使用一些简单的CSS来防止在页面上滚动。但是您需要使用JS来处理何时应用这个类

CSS

body.loading {
    overflow: hidden;
}

另一个解决方案是将loader div放置在固定位置,因此无需隐藏滚动条(这可能会导致奇怪的用户体验):

滚动时将显示div


在这种情况下,您不需要“body.load”规则

加载程序由于定位而滚动,因此我们可以通过将位置css更改为位置:固定来轻松删除滚动; 它将100%工作

#加载器{
位置:固定;
背景:#eeeeee;
底部:0;
身高:100%;
左:0;
右:0;
排名:0;
宽度:100%;
显示:块;
保证金:0自动;
溢出:隐藏;
z指数:9999;

}
您可能需要使用javascript实现这一点。但问题是广泛的。您可以发布一组您正在使用的特定代码吗?可能是?完全没有理由限定选择器。“”。加载{…}很好。更好的是。。。使其模块化。无溢出{…}我尝试了溢出:隐藏;它似乎不像我应用它的方式工作,我更新了我的问题,并在代码中添加了css部分。我如何使用JavaScript来准确地应用它呢?它是有效的,我的错误是试图在div处停止滚动。。谢谢
#loader {
    position: fixed;
    top: 0;
    left: 0;
    ...
}