HTML 滚动条样式修改

今天有个需求:页面超出用滚动条,但是不能一直显示着,而是要鼠标移动上去滚动条出来。所以设置了平时状态下是display:none;当hover鼠标经过显示出来,但是这也导致一个问题,当鼠标移动上去,内容整体往左移动了滚动条的宽度,因此想到如下方法:

就是我们一开始设置将滚动条直接设置成透明的,不让他显示,鼠标经过才显示。内容如下:

主要受到这篇文章的启发,在此记录。https://www.cnblogs.com/polly-ling/p/9875112.html

我使用的 <style>
    .innerbox{
        overflow-y: auto;
        background-color: #f8f8f8;
        height: 200px;
        padding: 10px;
    }
        .innerbox::-webkit-scrollbar {/*滚动条整体样式*/
            width: 4px;     /*高宽分别对应横竖滚动条的尺寸*/
            height: 4px;
            scrollbar-arrow-color:red;

        }
        .innerbox::-webkit-scrollbar-thumb {/*滚动条里面小方块*/
            border-radius: 5px;
            -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
            background: rgba(0,0,0,0.2);
            scrollbar-arrow-color:red;
        }
        .innerbox::-webkit-scrollbar-track {/*滚动条里面轨道*/
            -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);
            border-radius: 0;
            background: rgba(0,0,0,0.1);
        }

    </style>

http://www.php.cn/css-tutorial-381391.html

首先我们要了解滚动条。滚动条从外观来看是由两部分组成:1,可以滑动的部分,我们叫它滑块2,滚动条的轨道,即滑块的轨道,一般来说滑块的颜色比轨道的颜色深。

滚动条的css样式主要有三部分组成:

  1、::-webkit-scrollbar 定义了滚动条整体的样式;

  2、::-webkit-scrollbar-thumb 滑块部分;

    3、::-webkit-scrollbar-thumb 轨道部分;

下面以overflow-y:auto;为例(overflow-x:auto同)

html代码:

<p class="test test-1">
        <p class="scrollbar"></p>
</p>

 

css代码:

.test{

    width: 50px;

    height: 200px;

    overflow: auto;

    float: left;

    margin: 5px;

    border: none;

}

.scrollbar{

    width: 30px;

    height: 300px;

    margin: 0 auto;

}

.test-1::-webkit-scrollbar {/*滚动条整体样式*/

        width: 10px;     /*高宽分别对应横竖滚动条的尺寸*/

        height: 1px;

    }

.test-1::-webkit-scrollbar-thumb {/*滚动条里面小方块*/

        border-radius: 10px;

         -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);

        background: #535353;

    }

.test-1::-webkit-scrollbar-track {/*滚动条里面轨道*/

        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);

        border-radius: 10px;

        background: #EDEDED;

    }

效果如下如:

 

 

如果要改变滚动条的宽度:在::-webkit-scrollbar中改变即可;如果要改变滚动条滑块的圆角,在::-webkit-scrollbar-thumb 中改变;如果要改轨道的圆角在::-webkit-scrollbar-track中改变;

此外,滚动条的滑块不仅可以填充颜色还可以填充图片如下:

css代码:

.test-5::-webkit-scrollbar {/*滚动条整体样式*/

    width: 10px;     /*高宽分别对应横竖滚动条的尺寸*/

    height: 1px;

}

.test-5::-webkit-scrollbar-thumb {/*滚动条里面小方块*/

        border-radius: 10px;

background-color: #F90;

background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%,

rgba(255, 255, 255, .2) 75%, transparent 75%, transparent);

    }

.test-5::-webkit-scrollbar-track {/*滚动条里面轨道*/

        -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2);

        /*border-radius: 10px;*/

        background: #EDEDED;

    }

 

html代码:

<p class="test test-5">
    <p class="scrollbar"></p>
</p>

效果如下:

 

总结:

通过上文中的实例学习相信小伙伴们就可以做出自己喜欢的滚动条了、如果文档中会有多个滚动条出现,而且希望所有的滚动条样式是一样的,那么伪元素前面不需要加上class、id、标签名等之类的任何东西。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值