zoukankan      html  css  js  c++  java
  • HTML自定义滚动条(仿网易邮箱滚动条)转载

    它是使用CSS中的伪元素来实现的,主要由以下三个来完成: 
    1. -webkit-scrollbar:定义滚动条的样式,如长宽。 
    2. -webkit-scrollbar-thumb:定义滚动条上滑块的样式。 
    3. -webkit-scrollbar-track:定义滚动条主干部分(背景)的样式。

    4.-webkit-scrollbar-button: 滚动条轨道两端的按钮,允许通过点击微调小方块的位置,可以用display:none让其不显示。

    5.-webkit-scrollbar-track-piece:   内层轨道,滚动条中间部分(除去)。

    6.-webkit-scrollbar-corner:边角,及两个滚动条的交汇处。

    7.-webkit-scrollbar-corner :边角,及两个滚动条的交汇处

    接下来我们就把它的核心代码拿下来瞧瞧。

    滚动条样式

    1 .nui-scroll::-webkit-scrollbar {
    2      8px;//表示垂直滚动条的宽度
    3     height: 8px;//表示水平滚动条的高度
    4 }

    可以看出给了一个nui-scroll这么一个类选择器,然后设置滚动条的样式。width和height的含义上面已经给出了。

    滚动条滑块样式

     1 /*正常情况下滑块的样式*/
     2 .nui-scroll::-webkit-scrollbar-thumb {
     3     background-color: rgba(0,0,0,.05);
     4     border-radius: 10px;
     5     -webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,.1);
     6 }
     7 /*鼠标悬浮在该类指向的控件上时滑块的样式*/
     8 .nui-scroll:hover::-webkit-scrollbar-thumb {
     9     background-color: rgba(0,0,0,.2);
    10     border-radius: 10px;
    11     -webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,.1);
    12 }
    13 /*鼠标悬浮在滑块上时滑块的样式*/
    14 .nui-scroll::-webkit-scrollbar-thumb:hover {
    15   background-color: rgba(0,0,0,.4);
    16     -webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,.1);
    17 }

    滑块的样式也很简单。

    滚动条主干部分样式

     1 /*正常时候的主干部分*/
     2 .nui-scroll::-webkit-scrollbar-track {
     3     border-radius: 10px;
     4     -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0);
     5     background-color: white;
     6 }
     7 /*鼠标悬浮在滚动条上的主干部分*/
     8 .nui-scroll::-webkit-scrollbar-track:hover {
     9     -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.4);
    10     background-color: rgba(0,0,0,.01);
    11 }

    我们的代码基本上就完了,最后设置一下该控件显示滚动条,要显示滚动条那么就得给定它的宽和高并且设置其样式overflow为auto。

    显示滚动条

    1 .nui-scroll{
    2     margin-left: 100px;/*为了咱们看着好看就向右移动一点*/
    3     border: 1px solid #000;/*给个边框看着更舒服*/
    4      200px;/*设置宽*/
    5     height: 500px;/*设置高*/
    6     overflow: auto;/*当内容溢出时显示滚动条*/
    7 }

    有了上面的类,我们再定义一个DIV使用该类就大功告成了!

    1 <div class="nui-scroll">
    2     123<br/>
    3     123<br/>
    4     <!--这里有好多上面这结构为了节省篇幅就省去了-->
    5 </div>

    最后我们运行一下看看结果:

    最后的滚动条样子

    最后给出所有的代码,小伙伴们可以直接把代码拷过去稍加修改做成更加高大上的滚动条,如果大家懒得粘贴也可以直接下载代码,不要任何币,完全免费哦。

    完整代码:

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>滚动条示例</title>
     6     <style type="text/css">
     7         .nui-scroll{
     8             margin-left: 100px;
     9             border: 1px solid #000; 
    10              200px;
    11             height: 500px;
    12             overflow: auto;
    13         }
    14         .nui-scroll::-webkit-scrollbar {
    15              8px;
    16             height: 8px;
    17         }
    18         /*正常情况下滑块的样式*/
    19         .nui-scroll::-webkit-scrollbar-thumb {
    20             background-color: rgba(0,0,0,.05);
    21             border-radius: 10px;
    22             -webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,.1);
    23         }
    24         /*鼠标悬浮在该类指向的控件上时滑块的样式*/
    25         .nui-scroll:hover::-webkit-scrollbar-thumb {
    26             background-color: rgba(0,0,0,.2);
    27             border-radius: 10px;
    28             -webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,.1);
    29         }
    30         /*鼠标悬浮在滑块上时滑块的样式*/
    31         .nui-scroll::-webkit-scrollbar-thumb:hover {
    32             background-color: rgba(0,0,0,.4);
    33             -webkit-box-shadow: inset 1px 1px 0 rgba(0,0,0,.1);
    34         }
    35         /*正常时候的主干部分*/
    36         .nui-scroll::-webkit-scrollbar-track {
    37             border-radius: 10px;
    38             -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0);
    39             background-color: white;
    40         }
    41         /*鼠标悬浮在滚动条上的主干部分*/
    42         .nui-scroll::-webkit-scrollbar-track:hover {
    43             -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.4);
    44             background-color: rgba(0,0,0,.01);
    45         }
    46     </style>
    47 </head>
    48 <body>
    49     <div class="nui-scroll">
    50         123<br/>
    51         123<br/>
    52         <!--这里有好多上面这结构为了节省篇幅就省去了-->
    53     </div>
    54 </body>
    55 </html>
  • 相关阅读:
    最小生成树示例程序_Prim算法
    邻接表示例程序
    拓扑排序示例程序
    hdu1754 I Hate It && hdu1166 敌兵布阵 ——线段树复习
    2013年4月26日 晴
    Snakes & Ladders ——BFS入门题
    zoj1203 Swordfish ——最小生成树入门题_Kruscal算法
    poj3087 Shuffle'm Up ——水题
    poj1002 4873279 ——水题
    2013年4月21日 阴
  • 原文地址:https://www.cnblogs.com/ysx215/p/9550105.html
Copyright © 2011-2022 走看看