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选择器的研究(详解)
Sep 16 HTML / CSS
纯CSS3实现8组超炫酷鼠标滑过图片动画
Mar 16 HTML / CSS
css3实现背景动态渐变效果
Dec 10 HTML / CSS
html5标记文字_动力节点Java学院整理
Jul 11 HTML / CSS
HTML5中div、article、section的区别及使用介绍
Aug 14 HTML / CSS
html5本地存储之localstorage 、本地数据库、sessionStorage简单使用示例
May 08 HTML / CSS
用HTML5制作一个简单的弹力球游戏
May 12 HTML / CSS
基于HTML5 Canvas的3D动态Chart图表的示例
Nov 02 HTML / CSS
Html5百叶窗效果的示例代码
Dec 11 HTML / CSS
HTML5页面直接调用百度地图API获取当前位置直接导航目的地的实现代码
Mar 02 HTML / CSS
使用HTML和CSS实现的标签云效果(附demo)
Feb 03 HTML / CSS
CSS实现多个元素在盒子内两端对齐效果
Mar 30 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
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
淘宝网提供的国内NPM镜像简介和使用方法
2014/04/17 Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
2014/04/22 Javascript
AngularJS入门教程之数据绑定原理详解
2016/11/02 Javascript
JavaScript中英文字符长度统计方法示例【按照中文占2个字符】
2017/01/17 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
vue-router中的hash和history两种模式的区别
2018/07/17 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue 修改 data 数据问题并实时显示的方法
2018/08/27 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
原生js实现Flappy Bird小游戏
2018/12/24 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
js回调函数原理与用法案例分析
2020/03/04 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
详解Python中break语句的用法
2015/05/14 Python
python中根据字符串调用函数的实现方法
2016/06/12 Python
解决python3 urllib中urlopen报错的问题
2017/03/25 Python
python制作小说爬虫实录
2017/08/14 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
浅析python实现scrapy定时执行爬虫
2018/03/04 Python
Python标准库使用OrderedDict类的实例讲解
2019/02/14 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
简单了解Python write writelines区别
2020/02/27 Python
Python的scikit-image模块实例讲解
2020/12/30 Python
全球性的女装店:storets
2019/06/12 全球购物
白莲教口号
2014/06/18 职场文书
年检委托书
2014/08/30 职场文书
课外访万家心得体会
2014/09/03 职场文书