CSS3自定义滚动条样式的示例代码


Posted in HTML / CSS onAugust 21, 2017

滚动条是个很常见的东东,不过某些浏览器自带的滚动条确实不太好看啊,下面可以作为学习,探讨下自定义滚动条的实现,这样你的滚动条就可以美美的啦。但是,也只能玩玩,因为只针对webkit内核的浏览器啊啊啊啊啊!

overflow介绍

定义:overflow 属性指定当它溢出其块级容器时,是否剪辑内容,渲染滚动条或显示内容。

属性值

overflow:visible    //默认值。内容不会被修剪,超出内容会显示在元素框之外
overflow:hidden     //内容会被修剪。超出内容被隐藏
overflow:scroll     //内容会被修剪,浏览器会显示滚动条以便查看其余内容
overflow:auto       //如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
overflow:inherit     //规定从该父元素继承overflow属性的值

注:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 “inherit”。

当overflow设为除默认值(visible)以外的值时,将会创建一个会 块级式化上下文 (清除浮动的一种方式),更多可查看深入理解BFC和Margin Collapse

小tips

对于当行文本对超出部分的处理可使用一下属性。(同时需设置元素的width值,还有 overflow:hidden; 及 white-space:nowrap; )

text-overflow:clip       //修剪文本。
text-overflow:ellipsis   //显示省略符号来代表被修剪的文本。
text-overflow:string     //使用给定的字符串来代表被修剪的文本。

对于多行文本则需要用到不规范属性 -webkit-line-clamp ,此处不细讲。

水平及垂直滚动条

使用 overflow-x overflow-y 可分别设置水平及垂直方向上的滚动条。

自定义滚动条实现

此部分针对webkit内核的浏览器,使用伪类来改变滚动条的默认样式,详情如下:

滚动条组成部分

1. ::-webkit-scrollbar                滚动条整体部分
2. ::-webkit-scrollbar-thumb          滚动条里面的小方块,能向上向下移动(或向左向右移动)
3. ::-webkit-scrollbar-track          滚动条的轨道(里面装有Thumb)
4. ::-webkit-scrollbar-button         滚动条的轨道的两端按钮,由于通过点击微调小方块的位置。
5. ::-webkit-scrollbar-track-piece    内层轨道,滚动条中间部分
6. ::-webkit-scrollbar-corner         边角,即垂直滚动条和水平滚动条相交的地方
7. ::-webkit-resizer                  两个滚动条的交汇处上用于拖动调整元素大小的小控件

滚动条组成结构图如下:

CSS3自定义滚动条样式的示例代码 

下面来一组简单自定义滚动条的实现:

<div class="box box7">
    <p>这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要, 用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也 会出现滚动条。 这个属性定义溢出元素内容区的内容会如何处理。如果值为
        scroll,不论是否需要, 用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也 会出现滚动条。
    </p>
</div>


.box8::-webkit-scrollbar {
    width: 12px;
    background-color: #eee;
}

.box8::-webkit-scrollbar-track {
    background-color: #eee;
}

.box8::-webkit-scrollbar-thumb {
    background: #3DB6A4;
}

.box8::-webkit-scrollbar-button:start {
    background: url(./imgs/up.png) no-repeat;
    background-size: 12px 12px;
}

.box8::-webkit-scrollbar-button:end {
    background: url(./imgs/down.png) no-repeat;
    background-size: 12px 12px;
}

更多效果如下图:

CSS3自定义滚动条样式的示例代码 

注意只在chrome下有效!!!!!!

源码地址下载

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
使用CSS3美化HTML表单的技巧演示
May 17 HTML / CSS
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
Jul 08 HTML / CSS
CSS3效果:自定义“W”形运行轨迹实例
Mar 29 HTML / CSS
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
Oct 15 HTML / CSS
CSS3 box-shadow属性实例详解
Jun 19 HTML / CSS
html5使用html2canvas实现浏览器截图的示例
Aug 31 HTML / CSS
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
Jan 09 HTML / CSS
HTML5新增的Css选择器、伪类介绍
Aug 07 HTML / CSS
HTML5 在canvas中绘制文本附效果图
Jun 23 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
Dec 09 HTML / CSS
HTML5实现签到 功能
Oct 09 HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 HTML / CSS
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
Aug 18 #HTML / CSS
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
Aug 15 #HTML / CSS
浅谈CSS3中display属性的Flex布局的方法
Aug 14 #HTML / CSS
CSS3实现伪类hover离开时平滑过渡效果示例
Aug 10 #HTML / CSS
使用CSS3来代替JS实现交互
Aug 10 #HTML / CSS
css3实现wifi信号逐渐增强效果实例
Aug 09 #HTML / CSS
CSS3 实现弹幕的示例代码
Aug 07 #HTML / CSS
You might like
echo(),print(),print_r()之间的区别?
2006/11/19 PHP
JS+PHP实现用户输入数字后显示最大的值及所在位置
2017/06/19 PHP
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
JQuery实现简单时尚快捷的气泡提示插件
2012/12/20 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
2013/06/25 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
node.js中的fs.futimes方法使用说明
2014/12/17 Javascript
js给selected添加options的方法
2015/05/06 Javascript
js+HTML5实现视频截图的方法
2015/06/16 Javascript
js实现iframe框架取值的方法(兼容IE,firefox,chrome等)
2015/11/26 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
javascript高仿热血传奇游戏实现代码
2018/02/22 Javascript
vue组件与复用详解
2018/04/08 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
vue axios post发送复杂对象问题
2019/06/04 Javascript
原生js基于canvas实现一个简单的前端截图工具代码实例
2019/09/10 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
两个命令把 Vim 打造成 Python IDE的方法
2016/03/20 Python
利用python库在局域网内传输文件的方法
2018/06/04 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
mac系统下Redis安装和使用步骤详解
2019/07/09 Python
Django 模型类(models.py)的定义详解
2019/07/19 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
关于PyTorch源码解读之torchvision.models
2019/08/17 Python
VC++笔试题
2014/10/13 面试题
局域网定义和特性
2016/01/23 面试题
护士专业推荐信
2013/11/02 职场文书
三年级语文教学反思
2014/02/01 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
家具商场的活动方案
2014/08/16 职场文书
2015年元旦文艺晚会总结(学院)
2014/11/28 职场文书
检讨书模板
2015/01/29 职场文书
工作岗位职责范本
2015/02/15 职场文书
如何解决flex文本溢出问题小结
2022/07/15 HTML / CSS