css控制滚动条

ops/2025/3/21 0:10:26/

在开始说滚动条之前,先介绍下当前主流的浏览器和内核。

Blink 内核

Blink 内核是从 WebKit 内核分支而来,继承并优化了许多特性。它采用了多进程架构,每个标签页、插件等都可以在独立的进程中运行,这使得浏览器在处理多个复杂页面时,一个页面的崩溃或卡顿不会影响其他页面,大大提高了浏览器的整体性能和稳定性。

代表浏览器:Google Chrome、Microsoft Edge(新版)、Opera、Brave 等。

Gecko 内核

Gecko 内核以遵循网页标准而著称,它积极支持 W3C 等组织制定的各种标准,对于开发者来说,使用标准的 HTML、CSS 和 JavaScript 代码在 Firefox 上能得到很好的兼容和呈现。

代表浏览器:Mozilla Firefox。

WebKit 内核

webkit内核在资源占用方面相对较少,启动速度和页面加载速度较快,尤其适合在移动设备等资源有限的环境中使用。

代表浏览器:Safari(苹果公司的浏览器)、一些移动端浏览器(如 iOS 系统自带浏览器)。

正文开始

  <div class="box"><div class="demo1">AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</div></div><style>.box {width: 400px;margin: 200px auto;border: 1px solid;}.demo1 {overflow: auto;}</style>

先看下默认效果。这里使用的edge浏览器

 修改滚动条样式

css">     /*定义滚动条整体样式   WebKit 内核浏览器中,滚动条样式的设置是基于一个层级结构的::-webkit-scrollbar 是整个滚动条的顶级选择器,它代表滚动条的整体部分,而 ::-webkit-scrollbar-track 和 ::-webkit-scrollbar-thumb 是滚动条的子部分。 不定义滚动条整体样式的话,定义滚动条轨道,圆角等其他样式的时候就不生效了*/::-webkit-scrollbar {width: 0px; }/* 定义 轨道背景颜色 */::-webkit-scrollbar-track {background: #8d8c8c; }::-webkit-scrollbar-thumb {background: #da3d3d; /* 滑块背景颜色 */border-radius: 0px; /* 滑块圆角 */}/* 定义滚动条滑块悬停时的样式 */::-webkit-scrollbar-thumb:hover {background: #1fbb46; }

效果

 这里在edge浏览器中样式都生效了,但是在火狐浏览器中打开的时候,样式没有生效。

在火狐浏览器中,主要通过scrollbar-width属性和scrollbar-color来控制滚动条样式的

css">        .demo1 {scrollbar-width: 20px; /* 可选值:auto | thin | none */scrollbar-color: red yellow; /* 第一个值是滑块颜色,第二个值是轨道颜色 */}

 效果

使用@supports来判断当前浏览器的内核

css">   /* 检测 WebKit/Blink 内核 */@supports (-webkit-appearance: none) {/* 这里放置仅在 WebKit/Blink 内核浏览器中生效的样式 */.demo1 {background-color: lightblue;}}@supports (-moz-appearance: none) {/* 这里放置仅在 Gecko 内核浏览器中生效的样式 */.demo1 {background-color: lightgreen;}}

效果

 end

如有误欢迎指正


http://www.ppmy.cn/ops/167423.html

相关文章

蓝桥杯第九天 2022 省赛 第 4 题 最少刷题数

太多坑了&#xff0c;考虑不全只能过50%&#xff0c;有两种特殊情况 public static void main(String[]args) {Scanner scan new Scanner(System.in);int n scan.nextInt();int a[] new int [100005];int b[] new int [100005];for(int i 0;i<n;i)a[i] scan.nextInt()…

数字孪生的建模师blender和maya你更喜欢用哪个?

hello宝子们...我们是艾斯视觉擅长ui设计和前端数字孪生、大数据、三维建模、三维动画10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 在数字孪生领域&#xff0c;建模师们常常面临一个抉择&#xff1a;使用 Blender 还是 Maya&#xff…

区块链交易签名相关知识总结

基础概念 签名流程 安全相关问题 实际场景 代码示例 进阶问题 一、基础概念 1. 为什么区块链交易需要签名&#xff1f; 答案&#xff1a; 身份认证&#xff1a;证明交易由私钥持有者发起。 数据完整性&#xff1a;确保交易内容未被篡改。 抗抵赖性&#xff1a;签名者无…

在处理欧拉函数时如何使用逆元

1. 逆元的引入 在计算欧拉函数时&#xff0c;如果 (n) 是质数&#xff0c;那么 (\phi(n) n - 1)&#xff0c;这是直接的结果。然而&#xff0c;当 (n) 是合数时&#xff0c;我们需要处理分母中的质因数 (p_i)。 为了高效计算 (\phi(n))&#xff0c;尤其是在编程实现中&#…

蓝牙技术联盟中国实体成立!华为、小米发声支持本土化战略

2025年3月14日&#xff0c;负责制定蓝牙技术全球标准的行业协会——蓝牙技术联盟&#xff08;Bluetooth SIG&#xff09;宣布正式成立中国实体“蓝牙技术&#xff08;北京&#xff09;有限公司”&#xff0c;总部设于北京&#xff0c;并在上海、深圳设立分部。这一动作标志着全…

Python学习第二十天

Redis Redis 是一个高性能的键值存储数据库&#xff0c;适合存储临时数据或缓存。可以将用户的部分信息&#xff08;如会话、登录状态、缓存数据&#xff09;存储在 Redis 中。 安装 点击下载后将zip解压、并配置环境变量path中 使用 redis默认端口6379&#xff0c;redis-se…

AI视频生成产品体验分享(第2趴):Vidu、Hailuo、Runway、Pika谁更胜一筹?

hi&#xff0c;大家&#xff0c;继上次体验完可灵、即梦和pixverse&#xff0c;今天打算从产品经理的角度再研究下Vidu、Hailuo、Runway、Pika这几款产品&#xff01;欢迎加入讨论&#xff01; 一、产品简介 1. Vidu&#xff1a;国产自研的「一致性标杆」 &#x1f4cc;官网…

目标检测——清洗数据

清洗VOC格式数据集代码示例 import os import xml.etree.ElementTree as ETdef process_annotations(image_folder, annotation_folder):# 遍历标签文件夹中的所有XML文件for xml_file in os.listdir(annotation_folder):if not xml_file.endswith(.xml):continuexml_path os…