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教程(9):设置RGB颜色
Apr 02 HTML / CSS
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
Jul 11 HTML / CSS
css3实现可滑动跳转的分页插件示例
May 08 HTML / CSS
CSS 说明横向进度条最后显示文字的实现代码
Nov 10 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
用HTML5 实现橡皮擦的涂抹效果的教程
May 11 HTML / CSS
利用HTML5实现使用按钮控制背景音乐开关
Sep 21 HTML / CSS
HTML5 history新特性pushState、replaceState及两者的区别
Dec 26 HTML / CSS
HTML5 Canvas基本线条绘制的实例教程
Mar 17 HTML / CSS
HTML5头部标签的一些常用信息小结
Oct 23 HTML / CSS
HTML5 Canvas实现放大镜效果示例
Mar 25 HTML / CSS
详解盒子端CSS动画性能提升
May 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
将一维或多维的数组连接成一个字符串的php代码
2010/08/08 PHP
回帖脱衣服的图片实现代码
2014/02/15 PHP
php+highchats生成动态统计图
2014/05/21 PHP
微信支付开发教程(一)微信支付URL配置
2014/05/28 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
Yii 实现数据加密和解密
2021/03/09 PHP
使用jQuery清空file文件域的解决方案
2013/04/12 Javascript
JavaScript制作淘宝星级评分效果的思路
2020/06/23 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
NodeJS处理Express中异步错误
2017/03/26 NodeJs
AngularJS日程表案例详解
2017/08/15 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
绘制微信小程序验证码功能的实例代码
2021/01/05 Javascript
python单链表实现代码实例
2013/11/21 Python
python支持断点续传的多线程下载示例
2014/01/16 Python
教你如何在Django 1.6中正确使用 Signal
2014/06/22 Python
Python中的生成器和yield详细介绍
2015/01/09 Python
ubuntu安装mysql pycharm sublime
2018/02/20 Python
Python实现查询某个目录下修改时间最新的文件示例
2018/08/29 Python
Python使用folium excel绘制point
2019/01/03 Python
详解Python并发编程之从性能角度来初探并发编程
2019/08/23 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
Python如何在windows环境安装pip及rarfile
2020/06/15 Python
使用CSS3的::selection改变选中文本颜色的方法
2015/09/29 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
德国团购网站:Groupon德国
2018/03/13 全球购物
联想韩国官网:Lenovo Korea
2018/05/10 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
给导游的表扬信
2014/01/10 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
领导干部民主生活会自我剖析材料范文
2014/09/20 职场文书
中小学校园安全广播稿
2014/09/29 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python