关于 overflow 滚动条(滑动条)配置,简单使用的案例和案例代码

运行环境: Google Chrome 浏览器

前言:

滚动条的样式在CSS中属于伪元素(pseudo-element),滚动条的样式则需要通过使用::-webkit-scrollbar 伪元素来定义

滚动条(滑动条)的区域内包含三个基本部分,轨道、滑块、两端按钮轨道就是整个滚动条的区域,滑块则是内部控制显示内容的长条。可抽象理解为火车轨道火车,火车在轨道上移动,轨道限制它的移动范围,也就是滑块在其轨道中移动。另外两端按钮就不用单独介绍了,就是一直显示在最两端控制滑块上下移动的按钮块。

关于滚动条样式定义包含:宽度,高度、边框,显示位置,显示状态,在其中可以单独的去设置轨道、滑块和按钮的样式。

另外还有一个特殊的区域样式,就是当 水平和竖直两者都有滚动条时,两者交叉区域 边角的样式。

注意事项:

1.设置宽度和高度时有一个误区

因为滚动条整体的长度是由浏览器根据内容区域和滑块大小自动计算得出的,

所以水平滚动条的宽度设置会失效,只有高度有效,竖直滚动条的高度设置失效,只有宽度有效,

对此得出:水平滚动条的 高度决定滑块的厚度,竖直滚动条的宽度决定滑动条厚度。

2.设置宽度高度时,只需要设置整个滚动条的宽度高度即可,无效去单独设置滑块和轨道的宽高,因为设置了视乎也无效。

3.设备整个滚动条背景的时候,其实只需要设置在 滚动区域、外轨道、内轨道就行了,没必要都去设置,三者都可以填充满整个滚动条范围。

文章最后提供效果实例代码。

一、滚动条配置

 // .div-box 盒子的类名,请自行更换
 
// 可不加 .div-box 盒子的类名,直接写在 .div-box 父级上也可以 例如:
.div-box-rarent{
    ::-webkit-scrollbar{};
    ::-webkit-scrollbar-thumb{};
    // 这样默认    .div-box-rarent 下的所有滚动条样式都是这样的。
    .div-box{}
}
 
 
// 可配置项
.div-box::-webkit-scrollbar{}             // 滚动条样式,设置整个滚动区域的样式,设置轨道和滑块统一厚度,包含按钮区域
.div-box::-webkit-scrollbar-thumb{}       // 滑块的样式,支持渐变和背景图片填充。
.div-box::-webkit-scrollbar-track{}       // 外轨道样式,支持渐变和背景图片填充。不包含按钮区域
.div-box::-webkit-scrollbar-button{}      // 两端按钮样式
.div-box::-webkit-scrollbar-corner{}      // 交叉处边角样式
.div-box::-webkit-scrollbar-track-piece   // 内轨道样式。不包含按钮区域与外轨道大致相同
 

.div-box::-webkit-scrollbar-button:start:decrement {}  // 开始按钮样式
.div-box::-webkit-scrollbar-button:end:increment {}    // 结束按钮样式

/* 配置滚动条的上按钮 */
.div-box::-webkit-scrollbar-button:vertical:increment {}
/* 配置滚动条的下按钮 */
.div-box::-webkit-scrollbar-button:vertical:decrement {}
/* 配置滚动条的左按钮 */
.div-box::-webkit-scrollbar-button:horizontal:decrement {}
/* 配置滚动条的右按钮 */
.div-box::-webkit-scrollbar-button:horizontal:increment {}
 

二、实例效果图:

 

另外图中有一个蛇头的图片,分享给大家 ,似乎有 水印,有需要的私聊吧:

三、css 滚动条配置实例和实例代码

// one-简单配置
.one {
    overflow: auto;
    font-size: 32px;
}
.one::-webkit-scrollbar {
    width: 15px;
    height: 15px;
}
.one::-webkit-scrollbar-thumb {
    background-color: rgba(102, 255, 255, 1);
    border-radius: 10px;
}
/* 配置滚动条的上按钮 */
.one::-webkit-scrollbar-button:vertical:increment {
    background-image: url('@assets/image/botbutton.png');
    background-size: 100% 100%;
}
/* 配置滚动条的下按钮 */
.one::-webkit-scrollbar-button:vertical:decrement {
    background-image: url('@assets/image/topbutton.png');
    background-size: 100% 100%;
}
/* 配置滚动条的左按钮 */
.one::-webkit-scrollbar-button:horizontal:decrement {
    background-image: url('@assets/image/leftbutton.png');
    background-size: 100% 100%;
}
/* 配置滚动条的右按钮 */
.one::-webkit-scrollbar-button:horizontal:increment {
    background-image: url('@assets/image/rightbutton.png');
    background-size: 100% 100%;
}
// two-斑纹
.two::-webkit-scrollbar {
   
    width: 15px;
    height: 15px;
}
.two::-webkit-scrollbar-thumb {
    background-color: #F90;
    // 线性渐变, 0-25% 红 ,25% - 35% 透明,35% - 60% 绿,60%-70% 透明,70% - 95% 蓝 ,剩下透明,角度旋转45 °
    background-image: -webkit-linear-gradient(45deg, rgba(255, 0, 0) 25%, transparent 35%, rgba(0, 255, 0)  60%,transparent 70%,  rgba(0, 0, 255) 95%, transparent);
    border-radius: 10px;
}
.two::-webkit-scrollbar-track{
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.6);
    border-radius: 10px;
    background-color: #F5F5F5;
}
// three-分段
.three::-webkit-scrollbar {
   
    width: 15px;
    height: 15px;
}
.three::-webkit-scrollbar-thumb:vertical {
    background-color: #F90;
    background-image: -webkit-linear-gradient(90deg, rgba(255, 0, 0) 20%,transparent 20%, transparent 40%,rgba(255, 0, 0) 40%,rgba(255, 0, 0) 60%,transparent 60%,transparent 80%,rgba(255, 0, 0) 80%,rgba(255, 0, 0) 100%);
    border-radius: 10px;
}
.three::-webkit-scrollbar-thumb:horizontal {
    background-color: #F90;
    background-image: -webkit-linear-gradient(0deg, rgba(255, 0, 0) 20%,transparent 20%, transparent 40%,rgba(255, 0, 0) 40%,rgba(255, 0, 0) 60%,transparent 60%,transparent 80%,rgba(255, 0, 0) 80%,rgba(255, 0, 0) 100%);
    border-radius: 10px;
}
//four-贪吃蛇 
.four::-webkit-scrollbar {
   
    width: 25px;
    height: 25px;
}
.four::-webkit-scrollbar-thumb:vertical {
    background-color: #F90;
    background-image: -webkit-linear-gradient(90deg, rgba(255, 0, 0) 20%,transparent 20%, transparent 40%,rgba(255, 0, 0) 40%,rgba(255, 0, 0) 60%,transparent 60%,transparent 80%,rgba(255, 0, 0) 80%,rgba(255, 0, 0) 100%);
    border-radius: 0 0 10px 10px  ;
}
.four::-webkit-scrollbar-thumb:horizontal {
    background-color: #F90;
    background-image: -webkit-linear-gradient(0deg, rgba(255, 0, 0) 20%,transparent 20%, transparent 40%,rgba(255, 0, 0) 40%,rgba(255, 0, 0) 60%,transparent 60%,transparent 80%,rgba(255, 0, 0) 80%,rgba(255, 0, 0) 100%);
    border-radius: 10px;
}
/* 配置滚动条的上按钮 */
.four::-webkit-scrollbar-button:vertical:decrement {
    background-image: url('@assets/image/snakeheadred.png');
    background-size: 120% 100%;
    background-position: center;
}
.four::-webkit-scrollbar-track{
    background: red;
} 
/* 配置滚动条的左按钮 */
.four::-webkit-scrollbar-button:horizontal:decrement {
    background-image: url('@assets/image/snakeheadredvertica.png');
    background-size: 100% 120%;
    background-position: center;
}

文章中若有出错的地方请私聊作者修改,谢谢!另外工作顺利!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/333534.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

视频智能识别周界入侵检测AI智能分析网关V4如何配置ONVIF摄像机接入

AI边缘计算智能分析网关V4性能高、功耗低、检测速度快,易安装、易维护,硬件内置了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,上报识别结果,并能进行语音告警播放。算法可按需组合、按…

K8S Informer机制原理解读 | 架构设计

在Kubernetes系统中,组件之间通过HTTP协议进行通信,在不依赖任何中间件的情况下需要保证消息的实时性、可靠性、顺序性等。那么Kubernetes是如何做到的呢?答案就是Informer机制。Kubernetes的其他组件都是通过client-go的Informer机制与Kuber…

12- OpenCV:算子(Sobel和Laplance) 和Canny边缘检测 详解

目录 一、Sobel算子 1、卷积应用-图像边缘提取 2、Sobel算子(索贝尔算子) 3、相关的API(代码例子) 二、Laplance算子 1、理论 2、API使用(代码例子) 三、Canny边缘检测 1、Canny算法介绍 2、API使…

每周一算法:数独游戏

题目链接 数独游戏 题目描述 数独是根据 9 9 9 \times 9 99 盘面上的已知数字,推理出所有剩余空格的数字,并满足每一行、每一列、每一个粗线宫内的数字均含 1 − 9 1 - 9 1−9 ,不重复。每一道合格的数独谜题都有且仅有唯一答案&#x…

基于网络爬虫的天气数据分析

二、网络爬虫设计 网络爬虫原理 网络爬虫是一种自动化程序,用于从互联网上获取数据。其工作原理可以分为以下几个步骤: 定义起始点:网络爬虫首先需要定义一个或多个起始点(URL),从这些起始点开始抓取数据…

中国IT产经新闻:AI人工智对就业产生影响但既是挑战也是机遇

近日国际权威人士表示,人工智能AI将影响全球近40%的就业岗位,其中相对新兴市场和低收入国家而言,发达经济体可能受到的冲击更大!此言一出迅速应发了关于人工智能将对就业产生影响的大讨论! 我们都知道随着科技的飞速发…

美摄视频SDK的HDR格式编辑方案

在当今的视觉媒体时代,高动态范围(HDR)技术已成为高质量视频内容的标配。为了满足企业对高效、高质量视频处理的需求,美摄科技推出了业界领先的视频SDK,全面支持多种HDR标准的图像视频进行处理。 一、核心优势 HDR全…

微信内测“听一听” 音乐音频业务提至一级入口;美团 AI 平台视觉中心负责人魏晓林离职;腾讯视频生成模型 VideoCrafter2;广州房价连跌12个月

今日精选 • 微信内测“听一听” 音乐音频业务提至一级入口• 美团 AI 平台视觉中心负责人魏晓林离职• 腾讯推出视频生成模型 VideoCrafter2,• 广州房价连跌12个月 投融资与企业动态 • TikTok 越南推出 Thu Duc Market 在线销售渠道• 亚马逊将在五年内在日本…

本地MinIO存储服务通过Java程序结合Cpolar内网穿透进行远程连接

文章目录 前言1. 创建Buckets和Access Keys2. Linux 安装Cpolar3. 创建连接MinIO服务公网地址4. 远程调用MinIO服务小结5. 固定连接TCP公网地址6. 固定地址连接测试 前言 MinIO是一款高性能、分布式的对象存储系统,它可以100%的运行在标准硬件上,即X86等…

深度学习模型之yolov8实例分割模型TesorRT部署-python版本

1 模型转换 从github上下载官方yolov8版本,当前使用的版本是2023年9月份更新的版本,作者一直在更新。官网地址 2 加载模型 模型的训练和测试在官方文档上,有详细的说明,yolov8中文文档这里不做过多说明,v8现在训练是…

自动化测试框架有哪些?

前言 自动化测试常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用于功能与单元测试,Lettuce和Behave仅适用于行为驱动测试。 一、Robot Framework Python测…

2018年认证杯SPSSPRO杯数学建模B题(第二阶段)动态模糊图像全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 动态模糊图像复原 B题 动态模糊图像 原题再现: 人眼由于存在视觉暂留效应,所以看运动的物体时,看到的每一帧画面都包含了一段时间内 (大约 1/24 秒) 的运动过程,所以这帧画面事实上是模糊的。对…

Linux环境下,针对QT软件工程搭建C++Test单元测试环境的操作指南

文章目录 前言一、安装QT二、安装CTest三、使用QT生成.bdf文件四、创建CTest工程注意事项 前言 CTest是Parasoft公司出品的一款可以针对C/C源代码进行静态分析、单元测试、集成测试的测试工具。本文主要讲解如何在Linux环境下,搭建QT插件版的CTest测试环境。 一、…

Oracle 数据库备份与恢复的重要性与最佳实践

文章目录 一、备份的重要性二、备份工具-RMAN四、比较备份策略五、实例恢复六、完全恢复与不完全恢复七、备份与恢复脚本 引言: 在现代信息时代,数据已成为组织和企业最重要的资产之一。保护和恢复数据的能力对于确保业务连续性和减少潜在风险至关重要。…

基于网络爬虫的微博热点分析,包括文本分析和主题分析

基于Python的网络爬虫的微博热点分析是一项技术上具有挑战性的任务。我们使用requests库来获取微博热点数据,并使用pandas对数据进行处理和分析。为了更好地理解微博热点话题,我们采用LDA主题分析方法,结合jieba分词工具将文本分割成有意义的…

基于docker创建nginx容器

docker一键安装可以参考我这个博客:一键安装docker 1.创建基础容器 docker run -p280:280 --name nginx -d nginx创建挂载到容器的宿主机文件夹 mkdir -p /home/000nginx-ebrms-ftp/html mkdir -p /home/000nginx-ebrms-ftp/logs mkdir -p /home/000nginx-ebrms-f…

最终Docker6:nacos集群部署

目录 mysql容器构建 1.进入soft 文件夹,创建mysql文件夹 2.进入conf文件夹 放入my.conf 配置文件 3.运行mysql容器 4.进入script文件夹 导入 sql文件 5.进入mysql 容器 并登录 6.创建nacos 数据库并使用,运行nacos.sql文件 7.授予用户所有权限 部…

Unity 编辑器篇|(十一)Gizmos (全面总结 | 建议收藏)

目录 1. 前言2 参数总览3 Gizmos绘制3.1 立方体:DrawCube3.2 视锥:DrawFrustum3.3 贴图:DrawGUITexture3.4 图标:DrawIcon3.5 线段:DrawLine3.6 网格:DrawMesh3.7 射线:DrawRay3.8 球体&#xf…

交通路标识别(教程代码)

交通路标识别是一种基于计算机视觉和深度学习技术的应用,旨在通过自动识别和分类交通路标来提高交通安全和效率。下面是对交通路标识别的介绍,并分点阐述其重要性和应用场景: 1. 交通安全增强: 交通路标识别可以帮助驾驶员和行人…