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画一个阴阳八卦图
Mar 09 HTML / CSS
45个非常奇妙的CSS3 特性应用示例
Jan 01 HTML / CSS
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
Dec 31 HTML / CSS
css3背景图片透明叠加属性cross-fade简介及用法实例
Jan 08 HTML / CSS
详解CSS3中border-image的使用
Jul 18 HTML / CSS
CSS3 清除浮动的方法示例
Jun 01 HTML / CSS
html5-canvas中使用clip抠出一个区域的示例代码
May 25 HTML / CSS
HTML5 声明兼容IE的写法
May 16 HTML / CSS
html5 button autofocus 属性介绍及应用
Jan 04 HTML / CSS
Html5适配iphoneX刘海屏的简单实现
Apr 09 HTML / CSS
HTML5录音实践总结(Preact)
May 07 HTML / CSS
CSS 使用 resize 实现图片拖拽切换预览功能(强大功能)
Aug 23 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
星际争霸中的热键
2020/03/04 星际争霸
解析php中call_user_func_array的作用
2013/06/07 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
关于laravel-admin ueditor 集成并解决刷新的问题
2019/10/21 PHP
PHP日期和时间函数的使用示例详解
2020/08/06 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jQuery的链式调用浅析
2010/12/03 Javascript
控制页面按钮在后台执行期间不重复提交的JS方法
2013/06/24 Javascript
用js传递value默认值的示例代码
2014/09/11 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
jQuery之简单的表单验证实例
2016/07/07 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
网页挂马方式整理及详细介绍
2016/11/03 Javascript
JavaScript实现经典排序算法之冒泡排序
2016/12/28 Javascript
Vue.js中兄弟组件之间互相传值实例
2017/06/01 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
Python3.6简单反射操作示例
2018/06/14 Python
python中bytes和str类型的区别
2019/10/21 Python
Pytorch 实现sobel算子的卷积操作详解
2020/01/10 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
python模拟点击网页按钮实现方法
2020/02/25 Python
python实现扫雷游戏
2020/03/03 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
python+playwright微软自动化工具的使用
2021/02/02 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
美丽的珠宝配饰:SmallThings
2019/09/04 全球购物
翻译专业应届生求职信
2013/11/23 职场文书
大学运动会通讯稿
2014/01/28 职场文书
求职信标题怎么写
2014/05/26 职场文书
党校个人总结
2015/03/04 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
Go语言基础函数基本用法及示例详解
2021/11/17 Golang
mysql sock文件存储了什么信息
2022/07/15 MySQL