如何让div滚动时页面不跟着滚动?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让div滚动时页面不跟着滚动?相关的知识,希望对你有一定的参考价值。

参考技术A

滚动条是容器所固有的,不管是外面的滚动条,还是里面的滚动条,只要让固定的div和body或者html容器脱离关系,即可实现DIV固定在页面而不随着滚动条随意滚动。

1.html,body,将默认出现的滚动条,完全地隐藏,这样不管什么内容都不会出现了。

2.virtual_body,写一个假的body,设置它的长宽为100%,这样利用可视的浏览器窗体显示所有的内容,并垂直允许出现滚动条。

3.fixed_div,用它进行绝对值进行定位,因为在这个容器下,该页面100%的被假冒body覆盖了,滚动条自然也显示不出来了。

4.<html><head> <title></title> <style type="text/css"> html,body overflow:hidden; margin:0px; width:100%; height:100%; .virtual_body width:100%; height:100%; overflow-y:scroll; overflow-x:auto; 。

5.fixed_div position:absolute; z-index:2008; bottom:20px; left:40px; width:800px; height:40px; border:1px solid red; background:#e5e5e5 。

6.</style></head><body><div class="fixed_div">I am still here!</div><div class="virtual_body"> <div style="height:888px;"> I am content ! </div></div></body></html>。

如何div滚动时主页面不跟着滚动?

主页面某按钮点击后弹出DIV,主页面和弹出的DIV均有滚动条,如何在弹出的DIV上滚动条滚动时,主页面的滚动条不跟着一起滚动?

在弹出DIV的时候暂时取消主页面的滚动条,关闭DIV的时候再恢复滚动条:
<html>
<head>
<style>
html,body height:3000px
#win display:none; position:absolute; left:100px; top:100px; width:500px; height:300px; overflow-y:scroll; border:1px solid #000
#content height:2000px;
</style>
<script>
window.onload=function()
var html=document.querySelector("html");
var body=document.querySelector("body");
openWin.onclick=function()
html.style.overflow="hidden";
body.style.overflow="hidden";
win.style.display="block";
return false;

closeWin.onclick=function()
html.style.overflow="visible";
body.style.overflow="visible";
win.style.display="none";
return false;


</script>
</head>
<body>
<a id="openWin" herf="#">打开DIV</a>
<div id="win">
<div id="content">
<a id="closeWin" herf="#">关闭DIV</a>
</div>
</div>
</body>
</html>
参考技术A 鼠标在div里 外面的 滚动条 是不会一起动的,除了div的后面没有内容了

以上是关于如何让div滚动时页面不跟着滚动?的主要内容,如果未能解决你的问题,请参考以下文章

如何让DIV固定在页面而不随着滚动条随意滚动

如何让DIV模块随着页面固定和不固定随意切换

如何让DIV固定在页面而不随着滚动条随意滚动

如何让DIV固定在页面而不随着滚动条随意滚动

Android - 在 CoordinatorLayout 中使用时页脚滚动到屏幕外

怎么让滚动条只显示在子盒子body不显示