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 注释掉看结果
拆解outer-box
很明显,内部的溢出连同滚动条一起被隐藏掉了。

第三步 拆解之 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】 中给出的图可以看出
拆解scroll-box
红框部分就是多出的 30px
而这一部分则被 overflow-x: hidden 给隐藏了。

那么问题来了!

  • 为什么 scroll-box 也要设置 overflow-x: hidden 呢?

我们来看一下:

拆解scroll-box-1
为什么会这样呢?
不知道你们有没有发现这次的滚动有什么不同的地方

没错,这次的滚动露出了 outer-box 的背景色,那么只能说明,这次的滚动是 scroll-box 在滚动,而我们要的是 content 滚动。

第四步 拆解之 content

首先我们将样式改成:
拆解content
以便于观察:
拆解conetnt-1
可以发现,滚动的是 content,也就是最内层的内容。

第五步:总结

那么滚动条呢?为什么最内层的滚动条不见了?

其实我们可以推回第四步:

注释掉 :scroll-box 的 overflow-x: hidden之后。

总结
总结-1

可以发现黄色方框所圈选的内容其实是溢出的。

那么一旦 scroll-box 加上了 overflow-x: hidden 这一块溢出的内容就要被隐藏掉了。

那么获利最大的就是 content 里的内容了。

总结-3

猜你喜欢

转载自blog.csdn.net/AoXue2017/article/details/117717702
今日推荐