它是使用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. width: 8px;//表示垂直滚动条的宽度
  3. height: 8px;//表示水平滚动条的高度
  4. }

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

滚动条滑块样式

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

滑块的样式也很简单。

滚动条主干部分样式

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

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

显示滚动条

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

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

  1. <div class="nui-scroll">
  2. <br/>
  3. <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 #;
  10. width: 200px;
  11. height: 500px;
  12. overflow: auto;
  13. }
  14. .nui-scroll::-webkit-scrollbar {
  15. width: 8px;
  16. height: 8px;
  17. }
  18. /*正常情况下滑块的样式*/
  19. .nui-scroll::-webkit-scrollbar-thumb {
  20. background-color: rgba(,,,.);
  21. border-radius: 10px;
  22. -webkit-box-shadow: inset 1px 1px rgba(,,,.);
  23. }
  24. /*鼠标悬浮在该类指向的控件上时滑块的样式*/
  25. .nui-scroll:hover::-webkit-scrollbar-thumb {
  26. background-color: rgba(,,,.);
  27. border-radius: 10px;
  28. -webkit-box-shadow: inset 1px 1px rgba(,,,.);
  29. }
  30. /*鼠标悬浮在滑块上时滑块的样式*/
  31. .nui-scroll::-webkit-scrollbar-thumb:hover {
  32. background-color: rgba(,,,.);
  33. -webkit-box-shadow: inset 1px 1px rgba(,,,.);
  34. }
  35. /*正常时候的主干部分*/
  36. .nui-scroll::-webkit-scrollbar-track {
  37. border-radius: 10px;
  38. -webkit-box-shadow: inset 6px rgba(,,,);
  39. background-color: white;
  40. }
  41. /*鼠标悬浮在滚动条上的主干部分*/
  42. .nui-scroll::-webkit-scrollbar-track:hover {
  43. -webkit-box-shadow: inset 6px rgba(,,,.);
  44. background-color: rgba(,,,.);
  45. }
  46. </style>
  47. </head>
  48. <body>
  49. <div class="nui-scroll">
  50. <br/>
  51. <br/>
  52. <!--这里有好多上面这结构为了节省篇幅就省去了-->
  53. </div>
  54. </body>
  55. </html>

HTML自定义滚动条(仿网易邮箱滚动条)转载的更多相关文章

  1. iOS自定义一个仿网易左右滑动切换页面框架

    FSScrollContentView github:https://github.com/shunFSKi/FSScrollContentView 这是本人在整理项目时抽离了业务代码整理封装的一个通 ...

  2. 仿网易邮箱5.0(四):信息提示插件(tips.js)

    信息提示插件,在平常的开发中也是经常乃至的一个插件,像是一些辅助信息的提示,如:加载成功.提交信息成功或失败等等.这个插件在163邮箱中用在切换标签时提示加载状态. 下面我们先来分析一下这个小插件需要 ...

  3. Vue.js 桌面端自定义滚动条组件|vue美化滚动条VScroll

    基于vue.js开发的小巧PC端自定义滚动条组件VScroll. 前段时间有给大家分享一个vue桌面端弹框组件,今天再分享最近开发的一个vue pc端自定义滚动条组件. vscroll 一款基于vue ...

  4. vue3系列:vue3.0自定义虚拟滚动条V3Scroll|vue3模拟滚动条组件

    基于Vue3.0构建PC桌面端自定义美化滚动条组件V3Scroll. 前段时间有分享一个Vue3 PC网页端弹窗组件,今天带来最新开发的Vue3.0版虚拟滚动条组件. V3Scroll 使用vue3. ...

  5. UITableView 一直显示滚动条(ScrollBar Indicators)、滚动条Width(宽度)、滚动条Color(颜色)

    在 IOS 中,对 UIScrollView 的滚动条(ScrollBar Indicators)的自定义设置接口,一直都是很少的.除了能自定义简单的样式(UIScrollViewIndicatorS ...

  6. web-3g-(163)网易-邮箱-记事本-数据库设计

    ylbtech-DatabaseDesgin:ylbtech-cnblogs(博客园)-数据库设计-2,Admin(用户后台) DatabaseName:cnblogs(博客园) Model:Admi ...

  7. Android 开源框架ActionBarSherlock 和 ViewPager 仿网易新闻客户端

    转载请注明出处:http://blog.csdn.net/xiaanming/article/details/9971721 大家都知道Android的ActionBar是在3.0以上才有的,那么在3 ...

  8. Android Studio精彩案例(一)《ActionBar和 ViewPager版仿网易新闻客户端》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 为了能更好的分享高质量的文章,所以开设了此专栏.文章代码都以Android Studio亲测运行,读者朋友可在后面直接下载源码.该专栏 ...

  9. 类似掌盟的Tab页 Android 开源框架ViewPageIndicator 和 ViewPager 仿网易新闻客户端Tab标签 (转)

    原博客地址  :http://blog.csdn.net/xiaanming/article/details/10766053 本文转载,记录学习用,如有需要,请到原作者网站查看(上面这个网址) 之前 ...

随机推荐

  1. 搭建基于IDEA+Selenium+Java+TestNG+Maven+Jenkins+SVN的Web端UI自动化测试环境

    第一步:工具下载安装配置 JDK安装与配置 IDEA安装与配置 Maven安装与配置 Tomcat部署与配置 Jenkins部署与配置 Svn安装与配置 各浏览器驱动下载与配置 第二步:集成各个工具到 ...

  2. Laravel 5.2数据库--迁移migration

    Laravel中的migrations文件存放的是数据库表文件等结构,可以说是一个跟git差不多的,可以说像是数据库的版本控制器,所以可以叫做迁移.因为它可以很快速的很容易地构建应用的数据库表结构. ...

  3. Ex 2_16 给定一个无穷数组..._第二次作业

    先比较数组的A[0]元素,若不相等接下来比较A[1],A[2],A[4],A[8]…,若找到一个区间A[2n-1]<x<A[2n],再对这个区间进行折半查找操作.总的时间为O(logn). ...

  4. 4)协程一(yeild)

    一:什么协程 协程: coroutine/coro - 轻量级线程(一个线程) - 调度由用户控制 - 有独立的寄存器上下文和栈 - 切换时保存状态,回来时恢复 二:协程和多线程比较 协程: coro ...

  5. bzoj4025 二分图 [分治,并查集]

    传送门 思路 是二分图的充要条件:图没有奇环. 考虑按时间分治,用可撤销并查集维护点到根的距离. 仍然可以用一个小trick把两点连边变成根连边,可以看这里. 每次连边时若不连通则连上,否则判一下有没 ...

  6. Java链表讲解

    主要讲述几点: 一.链表的简介 二.链表实现原理和必要性 三.单链表示例 四.双链表示例 一.链表的简介 链表是一种比较常用的数据结构,链表虽然保存比较复杂,但是在查询时候比较便捷,在多种计算机语言都 ...

  7. (转)整理 node-sass 安装失败的原因及解决办法

    转载地址:https://segmentfault.com/a/1190000010984731

  8. 银联支付java版

    注:本文来源于:<  银联支付java版    > 银联支付java版 2016年09月18日 15:55:20 阅读数:2431 首先去银联官网注册测试支付账户   下载对应的demo[ ...

  9. bzoj 2761

    神题... 其实这题巨水,用各种诡异的方法都能A,包括STL等等 我之所以写题解,是因为我发现了一个bug:bz和luogu时限有问题! 这题我用了两种做法: ①:直接使用STL-map(不能直接用数 ...

  10. c++实现 给定直角停车位两个点,求取剩余两点坐标。

    //2018-09-08-fourmi /*************************include head files************************************ ...