HTML/CSS 关于滚动条的隐藏(详解)
开始的话
关于滚动条的隐藏,在这里选用了(layui)使用的方式做一次详细解释,并配上GIF图进行步骤说明
第一步 写出代码
(建议直接复制 ,嘿嘿)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<style type="text/css">
.box {
width: 100%;
}
.outer-box {
margin: 50px auto;
width: 300px;
height: 500px;
background-color: #00F7DE;
overflow-x: hidden;
}
.scroll-box {
width: 330px;
height: 500px;
background-color: #959595;
opacity: .8;
overflow-x: hidden;
}
.content {
height: 1000px;
}
</style>
<body>
<div class="box">
<div class="outer-box">
<div class="scroll-box">
<div class="content">
<div>aaaaa</div>
<div>aaaaa</div>
<div>aaaaa</div>
<div>aaaaa</div>
<div>aaaaa</div>
<div>aaaaa</div>
</div>
</div>
</div>
</div>
</body>
</html>
第二步 拆解之 outer-box
css中 .outer-box
的样式结构如下
.outer-box {
margin: 50px auto; /* 居中,请忽略…… */
width: 300px; /* 宽 */
height: 500px; /* 高 */
background-color: #00F7DE; /* 背景颜色 */
overflow-x: hidden; /* 隐藏溢出的x轴部分 */
}
其中起作用的则是 overflow-x
这一句。
我们将 overflow-x: hidden
注释掉看结果
很明显,内部的溢出连同滚动条一起被隐藏掉了。
第三步 拆解之 scroll-box
css中 .scroll-box
的样式结构如下
.scroll-box {
margin: 50px auto; /* 居中,请忽略…… */
width: 330px; /* 宽(注意一下这里) */
height: 500px; /* 高 */
background-color: #00F7DE; /* 背景颜色 */
opacity: .8 /* 透明度,请忽略…… */
overflow-x: hidden; /* 隐藏溢出的x轴部分 */
}
.scroll-box
中有一句与.outer-box
不一样
width: 330px;
这句代码是指:内部给定一个宽于外部 30px 的容器,而这宽出来的 30px 则表示 滚动条 的宽度。
从 【第二步 拆解之 outer-box】 中给出的图可以看出
红框部分就是多出的 30px
而这一部分则被 overflow-x: hidden
给隐藏了。
那么问题来了!
- 为什么
scroll-box
也要设置overflow-x: hidden
呢?
我们来看一下:
为什么会这样呢?
不知道你们有没有发现这次的滚动有什么不同的地方
没错,这次的滚动露出了 outer-box
的背景色,那么只能说明,这次的滚动是 scroll-box
在滚动,而我们要的是 content 滚动。
第四步 拆解之 content
首先我们将样式改成:
以便于观察:
可以发现,滚动的是 content,也就是最内层的内容。
第五步:总结
那么滚动条呢?为什么最内层的滚动条不见了?
其实我们可以推回第四步:
注释掉 :scroll-box 的 overflow-x: hidden之后。
可以发现黄色方框所圈选的内容其实是溢出的。
那么一旦 scroll-box
加上了 overflow-x: hidden
这一块溢出的内容就要被隐藏掉了。
那么获利最大的就是 content
里的内容了。