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实现的闪烁跳跃进度条示例(附源码)
Aug 19 HTML / CSS
详解CSS3 Media Queries中媒体属性的使用
Feb 29 HTML / CSS
CSS3实现大小不一的粒子旋转加载动画
Apr 21 HTML / CSS
详解CSS3的perspective属性设置3D变换距离的方法
May 23 HTML / CSS
用CSS3实现无限循环的无缝滚动的示例代码
Nov 01 HTML / CSS
CSS3实现彩色进度条动画的示例
Oct 29 HTML / CSS
详解canvas drawImage()方法绘制图片不显示的问题
Oct 08 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
Jul 20 HTML / CSS
手摸手教你用canvas实现给图片添加平铺水印的实现
Aug 20 HTML / CSS
Html5跳转到APP指定页面的实现
Jan 14 HTML / CSS
background-position百分比原理详解
May 08 HTML / CSS
使用 CSS 轻松实现一些高频出现的奇形怪状按钮
Dec 06 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的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
php实现微信公众平台账号自定义菜单类
2014/12/02 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
laravel多条件查询方法(and,or嵌套查询)
2019/10/09 PHP
脚本吧 - 幻宇工作室用到js,超强推荐expand.js
2006/12/23 Javascript
js 页面执行时间计算代码
2009/03/04 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
js中arguments,caller,callee,apply的用法小结
2014/01/28 Javascript
jquery、js操作checkbox全选反选
2014/03/12 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
Bootstarp基本模版学习教程
2017/02/01 Javascript
浅谈node的事件机制
2017/10/09 Javascript
axios post提交formdata的实例
2018/03/16 Javascript
vue项目打包部署_nginx代理访问方法详解
2018/09/20 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
Python远程桌面协议RDPY安装使用介绍
2015/04/15 Python
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
简述:我为什么选择Python而不是Matlab和R语言
2017/11/14 Python
python自动重试第三方包retrying模块的方法
2018/04/24 Python
python opencv肤色检测的实现示例
2020/12/21 Python
程序集与命名空间有什么不同
2014/07/25 面试题
渗透攻击的测试步骤
2014/06/07 面试题
2014年健康教育实施方案
2014/02/17 职场文书
安全标语大全
2014/06/10 职场文书
幼儿学前班评语
2014/12/29 职场文书
导师工作推荐信
2015/03/27 职场文书
企业承诺书格式范文
2015/04/28 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
肖申克的救赎观后感
2015/06/02 职场文书
走进毛泽东观后感
2015/06/04 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书