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.0新属性效果在ie下的解决方案
May 10 HTML / CSS
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
Nov 05 HTML / CSS
CSS3属性box-sizing使用指南
Dec 09 HTML / CSS
详解Html5 Canvas画线有毛边解决方法
Mar 01 HTML / CSS
Bootstrap 学习分享
Nov 12 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
Apr 25 HTML / CSS
html5 CSS过度-webkit-transition使用介绍
Jul 02 HTML / CSS
html5教程制作简单画板代码分享
Dec 04 HTML / CSS
浅谈Html5移动端ios/Android兼容性总结
Jun 01 HTML / CSS
详解webapp页面滚动卡顿的解决办法
Dec 26 HTML / CSS
CSS3 制作的彩虹按钮样式
Apr 11 HTML / CSS
CSS完成视差滚动效果
Apr 27 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
一个显示天气预报的程序
2006/10/09 PHP
在PHP中实现Javascript的escape()函数代码
2010/08/08 PHP
PHP的PSR规范中文版
2013/09/28 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
PHP连接MYSQL数据库的3种常用方法
2017/02/27 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
取得父标签
2006/11/14 Javascript
利用javascript的面向对象的特性实现限制试用期
2011/08/04 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
JS中使用sort结合localeCompare实现中文排序实例
2014/07/23 Javascript
JavaScript使用FileSystemObject对象写入文本文件内容的方法
2015/08/05 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
JavaScript 数组some()和filter()的用法及区别
2016/05/20 Javascript
Bootstrap CSS布局之列表
2016/12/15 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
2017/06/05 Javascript
vue使用keep-alive保持滚动条位置的实现方法
2019/04/09 Javascript
Postman内建变量常用方法实例解析
2020/07/28 Javascript
JS实现简单贪吃蛇小游戏
2020/10/28 Javascript
javascript实现放大镜功能
2020/12/09 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
Python break语句详解
2014/03/11 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
Python实现自动上京东抢手机
2018/02/06 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
python 梯度法求解函数极值的实例
2019/07/10 Python
用Python写一个自动木马程序
2019/09/17 Python
Django中密码的加密、验密、解密操作
2019/12/19 Python
python跨文件使用全局变量的实现
2020/11/17 Python
html5 Canvas画图教程(10)—把面拆成线条模拟出圆角矩形
2013/01/09 HTML / CSS
文秘人员工作职责
2014/01/31 职场文书
年会搞笑主持词串词
2014/03/24 职场文书
节约每一滴水演讲稿
2014/09/09 职场文书
2014年客服工作总结范文
2014/11/13 职场文书
win11无法添加打印机怎么办? 提示windows无法打开添加打印机的解决办法
2022/04/05 数码科技
MySQL中的 inner join 和 left join的区别解析(小结果集驱动大结果集)
2023/05/08 MySQL