CSS自定义滚动条

news2024/10/6 22:22:09

大家好,我是半夏👴,一个刚刚开始写文的沙雕程序员.如果喜欢我的文章,可以关注➕ 点赞 👍~
搞前端的半夏 一起学习交流前端,成为更优秀的前端工程师

前言

之前写过一篇scroll-snap让你的滚动条更智能,在那篇文章中,主要介绍了,使用scroll-snap优化滚动,其实这也只是滚动需要优化的一点。其实滚动条才是最需要优化的,因为浏览器的多样性,各个浏览器在滚动条的样式上,也不统一。

当一个网页发不出去,我们尽可能的需要保证样式的一致性,美化滚动条可以解决这个统一的问题,当然了,你一个绚丽的页面,肯定不想出现丑了吧唧的滚动条吧!

滚动条

包含

滚动条包含下面7个元素:

  • ::-webkit-scrollbar:整个滚动条

  • ::-webkit-scrollbar-button:下下箭头按钮

  • ::-webkit-scrollbar-thumb:滚动滑块

  • ::-webkit-scrollbar-track:滚动条滑轨

  • ::-webkit-scrollbar-track-piece:滚动条没有滑块的轨道部分

  • ::-webkit-scrollbar-corner:横向滚动条与竖向滚动条的交汇处

  • ::-webkit-resizer:类似textarea的可拖动按钮

位置

在日常的使用中,我们经常见到的是右侧+下边滚动条。其实还有一种滚动条是位于左侧。主要是出现在RTL类型的网页中。

因为中文的书写方式是LTR 类型,所以滚动条在右边。

新语法?鸡肋

目前新语法,仅支持 scrollbar-color, scrollbar-width.无法自定义其他内容,个人觉得比较鸡肋。

div {
    scrollbar-color: rebeccapurple green;
    scrollbar-width: thin;
}

渐变的滚动条

定义滚动条容器

这里使用两个div。子div主要是用来保证父div可以出现滚动条。

<div class="scrollbar" id="style-7">
    <div class="child"></div>
</div>
    

父容器高度小于子元素高度:

   .scrollbar
        {
          height: 300px;
        }
   .child{
  min-height: 450px;
}

定义整个滚动条

 .scrollbar::-webkit-scrollbar
{
width: 10px;
background-color: #F5F5F5;
}
        

image-20211125200042936

定义滑块渐变

 .scrollbar::-webkit-scrollbar-thumb
        {
        border-radius:10px;
          background-image: -webkit-linear-gradient(90deg, #12c2e9, #c471ed, #f64f59);
        }

image-20211125200540943

这里强烈推荐一个渐变色配色网站,可以生成代码:https://uigradients.com/。

滑轨加点圆角

.scrollbar::-webkit-scrollbar-track
        {
            border-radius: 10px;
           }

image-20211125200722322

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《c++ primer笔记》第二章 变量和基本类型

前言 最近开始二刷c primer&#xff0c;第一遍很模糊的过了一下&#xff0c;由于前面的基础很多没理解透&#xff0c;从12章到16章基本是懵逼的状态。第二次为了保证质量准备把每个章节个人感觉重要的部分进行一个记录与总结&#xff0c;其中也记录了部分看书过程中遇到的问题&…

[JS]JavaScript基础学习笔记(黑马pink+尚硅谷李立超)

文章目录&#x1f97d; 前言&#x1f97d; JavaScript 简介&#x1f30a; JavaScript 是什么&#x1f30a; JavaScript 的作用&#x1f30a; HTML/CSS/JS 的关系&#x1f30a; 浏览器执行 JS&#x1f30a; JS 的组成&#x1f97d; JavaScript 的书写位置&#x1f30a; 行内式 J…

【C语言】指针进阶(一)

学好指针✊✊✊还有&#xff0c;男孩子在外面要保护好自己一、字符指针字符也有地址&#xff0c;当然可以将其储存——字符指针&#xff0c;是储存字符地址的指针对于普通的单个字符&#xff1a;char ch a;char* pc1 &ch;这里的pc是单个变量ch‘&#xff08;单个字符&…

防火门监控系统在智能建筑消防的重要性及应用介绍

【摘要】&#xff1a; 安全、舒适的生活及办公环境是人们所追求的&#xff0c;因此&#xff0c;在建筑中各种智能化的设备及布控系统显得尤为重要。近年各种频发的高危火灾事件严重威胁到了国民的生命安全&#xff0c;所以火灾监控系统在建筑中的应用显得尤为重要。本文主要从智…

【涵子来信python大全】——第二季——opencv第一篇

各位亲爱的读者&#xff0c;博主&#xff1a; 首先恭喜大家&#xff0c;涵子来信已经到达第二季——2023年篇。今天&#xff0c;我们要步入机器学习的初级内容&#xff1a;python opencv图片&#xff01; 目录 一、提前准备 二、程序代码学习 2.1.如何读取图片 2.2.显示图…

MySQL架构,以及redo log、undo log和binlog的区别(六)

一、Mysql的基本架构图 二、连接器 连接器负责跟客户端建立连接&#xff0c;获取权限、维持和管理连接&#xff1a; 用户名密码验证&#xff1b;查询权限信息&#xff0c;分配对应的权限&#xff1b;可以使用show processlist查看现在的连接&#xff1b;如果太长时间没有动静…

【rt-thread网络】第0篇:使用paho-mqtt软件包连接腾讯云mqtt服务器

文章目录一、mqtt介绍二、paho mqtt介绍三、连接腾讯云的步骤3.1 在腾讯云控制台的IOT HUB创建产品和设备&#xff08;略&#xff09;3.2 根据产品信息填充MQTTClient的连接参数3.3 编译和下载到开发板&#xff08;略&#xff09;四、测试五、参考一、mqtt介绍 MQTT(消息队列遥…

【Linux操作系统】如何实现Linux中软件安装进度条?

文章目录一.回车与换行二.缓冲区问题三.倒计时小程序四.进度条小程序Linux下安装软件时&#xff0c;经常会看到类似上图的进度条&#xff0c;今天带大家用C语言来演示其原理&#xff01; 一.回车与换行 俗话&#xff1a;回车换行&#xff0c;实际是回车和换行的组合 回车是回…

助力工业物联网,工业大数据项目之数据采集

文章目录01&#xff1a;Sqoop命令回顾02&#xff1a;YARN资源调度及配置03&#xff1a;MR的Uber模式04&#xff1a;Sqoop采集数据格式问题05&#xff1a;问题解决&#xff1a;Avro格式06&#xff1a;Sqoop增量采集方案回顾01&#xff1a;Sqoop命令回顾 目标&#xff1a;掌握Sqo…

TypeScript环境搭建 下载/安装 ,编译运行的三种方式:tsc命令行/tsc-node库/webpack搭建环境

目录 什么是TypeScript? 首先来进行全局安装 &#xff1a; 编译运行 方式一&#xff1a;命令行(cmd终端)--->tsc命令行 1.将代码编译为JavaScript的代码&#xff0c;使用cmd终端或者命令行运行以下命令&#xff1a; 2.在浏览器或者Node环境下运行JavaScript代码 方式…

声纹识别与声源定位(一)

针对目前智能计算机及大规模数据的发展&#xff0c;依据大脑处理语音、图像数据方法的deep learning技术应运而生。deep learning技术是应用于音频信号识别&#xff0c;模仿大脑的语音信号学习、识别的模式。在音频信号处理的过程中&#xff0c;运用deep learning进行音频数据的…

极海APM32F072RB开发环境测试

极海APM32F072RB开发环境测试通过自制的开发板进行测试。 &#x1f3ac;基于STM32cubemx工程配置 Keil MDK编译 ST-LINK/V2烧录 &#x1f33b;基于APM32F0xx_SDK Keil MDK编译 ST-LINK/V2烧录 &#x1f33f;官方的SDK包下载地址&#xff1a;https://www.geehy.com/support/…

DMDW主备集群搭建备库先open引发的问题

一、问题描述及配置主备集群搭建成功后&#xff0c;主备库启动脚本中START_MODEmount&#xff0c;备库的lsn号大于等于备库&#xff0c;N_OPN打开次数主库大于备库。假如搭建主备集群后&#xff0c;备库首先OPEN一下后引发的问题如下图&#xff1a;启动脚本中START_MODEopen3、…

tcp紧急指针,mss,rto,零窗口探测等

三次握手、四次挥手、重传机制、滑动窗口、流量控制、拥塞控制、TCP/UDP全解析-蒲公英云 (dandelioncloud.cn)(511条消息) TCP零窗口探测_redwingz的博客-CSDN博客_tcp0窗口TCP系列32—窗口管理&流控—6、TCP zero windows和persist timer - 走看看 (zoukankan.com)TCP协议…

VUE-Axios-解决跨域问题.

vue-axios跨域问题发现: https://github.com/Aealen/TopicSelection-VUE 使用vue-axios向后端发送请求的时候遇到如下报错: vue-axios跨域问题原因: 什么是跨域 **跨域&#xff1a;**指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的&#xff0c;是浏览器…

从零开始编写一个上位机(串口助手)QT Creator + Python

提示&#xff1a;本博客作为学习笔记&#xff0c;有错误的地方希望指正&#xff0c;此文可能会比较长&#xff0c;作为学习笔记的积累&#xff0c;希望对来着有帮助。   绪论&#xff1a;笔者这里使用的是QTCreator和Python来实现一个简单的串口上位机的开发的简单过程&#…

软件测试复习02:静态测试

作者&#xff1a;非妃是公主 专栏&#xff1a;《软件测试》 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录评审评审过程角色和职责评审类型静态分析控制流分析数据流分析编码标准一致性检查桌面检查代码走查…

Unity 之 资源加载 -- 可寻址系统面板介绍 -- 入门(二)

可寻址系统面板介绍 -- 入门&#xff08;二&#xff09;一&#xff0c;可寻址系统目录介绍1.2 创建分组1.2 目录介绍二&#xff0c;可寻址系统设置介绍2.1 Profile - 配置文件2.2 Catalog - 目录2.3 Content Update - 内容更新2.4 Downloads - 下载2.5 Build - 构建2.6 Build a…

69. 单发多框检测(SSD)代码实现以及QA

之前&#xff0c;我们分别介绍了边界框、锚框、多尺度目标检测和用于目标检测的数据集。 现在我们已经准备好使用这样的背景知识来设计一个目标检测模型&#xff1a;单发多框检测&#xff08;SSD&#xff09; 。该模型简单、快速且被广泛使用。尽管这只是其中一种目标检测模型&…

Filebeat从入门到实战

文章目录Filebeat的概念简介Filebeat特点Filebeat与Logstash对比Filebeat安装安装地址Logstash部署安装Filebeat实战对接LogstashFilebeat模块使用&#xff08;配置Kafka&#xff09;对接ES案例展示对接Kafka案例展示总结Filebeat的概念 简介 Filebeat是一种轻量型日志采集器…