*{
margin:0px;
padding:0px;
}
body{
height:2000px;
overflow:hidden;
}
div{
background:#ddd;
height:3000px;
}
<body>
<div></div>
</body>
overflow:hidden溢出元素内容区的内容被隐藏,不应该只隐藏了div的1000px吗?为什么滚动条不见了(屏幕高度小于2000px)求大神解答一下
你可以看下这个文章 https://blog.csdn.net/qq_36952611/article/details/72057760
因为对 body元素设置的background 和 overflow等样式,不是对body元素本身的作用。而是对整个浏览器窗口的根元素作用。
body设置overflow:hidden 是让窗口的根元素(也就是整个浏览器窗口)隐藏滚动条。(在html标签没设置overflow的情况下)。所以整个浏览器窗口滚动条不见了。
当对html标签也设置overflow的情况下
html {
overflow: scroll;
}
html设置的overflow: scroll 作用窗口的根元素。
而body设置的overflow:hidden 就变回到只对body元素本身的作用了。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title> 页面名称 </title>
<style type="text/css">
html {
overflow: scroll;
}
*{
margin:0px;
padding:0px;
}
body{
height:2000px;
overflow:hidden;
}
div{
background:#ddd;
height:3000px;
}
</style>
</head>
<body>
<div></div>
</body>
</html>
改成overflow:auto;
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632