它是使用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 :边角,及两个滚动条的交汇处

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

滚动条样式

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

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

滚动条滑块样式

 /*正常情况下滑块的样式*/
.nui-scroll::-webkit-scrollbar-thumb {
background-color: rgba(,,,.);
border-radius: 10px;
-webkit-box-shadow: inset 1px 1px rgba(,,,.);
}
/*鼠标悬浮在该类指向的控件上时滑块的样式*/
.nui-scroll:hover::-webkit-scrollbar-thumb {
background-color: rgba(,,,.);
border-radius: 10px;
-webkit-box-shadow: inset 1px 1px rgba(,,,.);
}
/*鼠标悬浮在滑块上时滑块的样式*/
.nui-scroll::-webkit-scrollbar-thumb:hover {
background-color: rgba(,,,.);
-webkit-box-shadow: inset 1px 1px rgba(,,,.);
}

滑块的样式也很简单。

滚动条主干部分样式

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

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

显示滚动条

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

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

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

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

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

完整代码:

 <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>滚动条示例</title>
<style type="text/css">
.nui-scroll{
margin-left: 100px;
border: 1px solid #;
width: 200px;
height: 500px;
overflow: auto;
}
.nui-scroll::-webkit-scrollbar {
width: 8px;
height: 8px;
}
/*正常情况下滑块的样式*/
.nui-scroll::-webkit-scrollbar-thumb {
background-color: rgba(,,,.);
border-radius: 10px;
-webkit-box-shadow: inset 1px 1px rgba(,,,.);
}
/*鼠标悬浮在该类指向的控件上时滑块的样式*/
.nui-scroll:hover::-webkit-scrollbar-thumb {
background-color: rgba(,,,.);
border-radius: 10px;
-webkit-box-shadow: inset 1px 1px rgba(,,,.);
}
/*鼠标悬浮在滑块上时滑块的样式*/
.nui-scroll::-webkit-scrollbar-thumb:hover {
background-color: rgba(,,,.);
-webkit-box-shadow: inset 1px 1px rgba(,,,.);
}
/*正常时候的主干部分*/
.nui-scroll::-webkit-scrollbar-track {
border-radius: 10px;
-webkit-box-shadow: inset 6px rgba(,,,);
background-color: white;
}
/*鼠标悬浮在滚动条上的主干部分*/
.nui-scroll::-webkit-scrollbar-track:hover {
-webkit-box-shadow: inset 6px rgba(,,,.);
background-color: rgba(,,,.);
}
</style>
</head>
<body>
<div class="nui-scroll">
<br/>
<br/>
<!--这里有好多上面这结构为了节省篇幅就省去了-->
</div>
</body>
</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. python2x 和 python 3x的区别

    1,大环境: python2x: 大神贡献源码,这些源码有自己语言的特色,源码不规范,源码重复代码太多. python崇尚的是优美清晰简单. python3x: 龟叔重新整理,将源码规范化,简单化,统 ...

  2. js -- sort() 使用排序函数

    JavaScript sort() 方法 JavaScript Array 对象 定义和用法 sort() 方法用于对数组的元素进行排序. 语法 arrayObject.sort(sortby) 参数 ...

  3. JMS消息队列之ActiveMQ简单示例

      废话不多说,在进入主题前先看一张图,对ActiveMQ有个大体的了解:   下面进入主题:   1.添加需要的maven依赖 <!-- active mq begin --> < ...

  4. 11)django-ORM(操作增删改查)

    ORM从增删改查等方面说明 一:创建数据 #创建数据两种方式1,推荐方式1 UserInfo.objects.create(username=") #方式1变种 user_dict={&qu ...

  5. python-进程池与线程池,协程

    一.进程池与线程池 实现并发的手段有两种,多线程和多进程.注:并发是指多个任务看起来是同时运行的.主要是切换+保存状态. 当我们需要执行的并发任务大于cpu的核数时,我们需要知道一个操作系统不能无限的 ...

  6. 快速开发android,离不开这10个优秀的开源项目

    作为一名菜鸡Android,时常瞻仰大佬们的开源项目是非常必要的.这里我为大家收集整理了10个优秀的开源项目,方便我们日常开发中学习! 作者:ListenToCode博客:https://www.ji ...

  7. SecureCRT中sqlplus,使用Backspace删除时 ^H^H

    平时习惯用Backspace删除输入错误,但是在SecureCRT中使用是,却是: SQL> sele^H^H 网上有几个方法,觉得改SecureCRT的配置最方便.

  8. Confluence 6 升级自定义的站点和空间仔细测试你的修改

    修改可能对 Confluence 的后续版本不兼容,当你对 Confluence 进行升级的时候,你应该总是对你自定义修改的模板文件进行仔细的测试来确定所有的修改对新版本的 Confluence 兼容 ...

  9. jquery通过visible来判断标签是否显示或隐藏

    if($(".spnTotal").is(":visible")==false) { alert('隐藏'); } else { alert('显示'); } 

  10. bat如何实现图片与名字匹配重命名

    背景:有一批图片按顺序截取,需要按照规定的名称进行重名命. 问题:用批处理怎么实现呢?(公司电脑手动重名时,卡的不要不要的) No1:解决:将规定的名称放入criterion.txt中,将批处理Ren ...