网站首页 > 技术文章 正文
大家好,我是大澈!
本文约800+字,整篇阅读大约需要1分钟。
感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单!
1. 资讯速览
从 Chrome 版本 2 开始,我们可以使用 ::-webkit-scrollbar-* 伪元素设置滚动条的样式。
于是,便有了以下几种伪元素:
这种方法在 Chrome 和 Safari 中很有效,但 CSS 工作组从未将其标准化。
但从 Chrome 121 开始,系统全面支持标准化的 scrollbar-width 和 scrollbar-color 属性,用来简化滚动条样式的修改。
2. 资讯详细
先详细聊聊 scrollbar-width 和 scrollbar-color 这两个属性,再说说对旧版浏览器的处理和推荐写法,最后做小结。
2.1两个属性详细
scrollbar-color可以定义滚动条的颜色,语法如下:
scrollbar-color: auto | 滑杆颜色 轨道颜色;
scrollbar-width可以设置滚动条的宽度,不过这个宽度不能随意指定,是有约束的,语法如下所示:
scrollbar-width: auto | thin | none;
- auto 就是默认的尺寸,在 Windows 系统下是 17px;
- thin 是窄滚动条,在 Windows 系统下是 8px;
- none 没有滚动条,宽度为0,但是内容依然可以滚动。
2.2旧版浏览器支持
为了适应不支持scrollbar-color和scrollbar-width的浏览器旧版本,您可以同时使用新的scrollbar-*和 ::-webkit-scrollbar-*属性。
同时,在 Chrome 121 版本之后,继续使用 ::-webkit-* 伪元素可能会导致样式与预期不符,所以即便是新版本浏览器,也推荐使用如下写法!
/* Modern browsers with `scrollbar-*` support */
@supports (scrollbar-width: auto) {
.scroller {
scrollbar-color: var(--scrollbar-color-thumb) var(--scrollbar-color-track);
scrollbar-width: var(--scrollbar-width);
}
}
/* Legacy browsers with `::-webkit-scrollbar-*` support */
@supports selector(::-webkit-scrollbar) {
.scroller::-webkit-scrollbar-thumb {
background: var(--scrollbar-color-thumb);
}
.scroller::-webkit-scrollbar-track {
background: var(--scrollbar-color-track);
}
.scroller::-webkit-scrollbar {
max-width: var(--scrollbar-width-legacy);
max-height: var(--scrollbar-width-legacy);
}
}
2.3小结
从 Chrome 121 开始,系统全面支持标准化的scrollbar-width和scrollbar-color属性,用来简化滚动条样式的修改。
结语
建立这个平台的初衷:
- 打造一个专注于前端功能问题的问答平台,让大家高效搜索处理同样问题。
- 遇到有共鸣的问题,与众多同行朋友们一起讨论,一起沉淀成长。
- 平台现拥有功能问题、技术资讯、实用干货3个专栏内容。
感谢关注微信公众号:“程序员大澈”,免费领取"面试礼包"一份,然后免费加入问答群,从此让解决问题的你不再孤单!
猜你喜欢
- 2024-10-03 更丝滑!优化Edge浏览器滚动体验:解锁丝滑滚动背后的秘密设置
- 2024-10-03 基于Chromium的浏览器在Windows平台会有更流畅的滚动条体验
- 2024-10-03 怎么隐藏浏览器的侧边滚动条?(浏览器怎么隐藏上面的页面框)
- 2024-10-03 打造属于自己的专属滚动条(生成滚动条)
- 2024-10-03 火狐浏览器怎么随网页滚动条截图(火狐浏览器如何滚动截屏)
- 2024-10-03 推荐3款网页长截图、滚动截图软件
- 2024-10-03 调整设置隐藏谷歌浏览器滚动条 实现与手机浏览网页一样清爽感觉
- 2024-10-03 selenium之滚动条(selenium 滚动条到底)
- 2024-10-03 Edge获得Overlay全新滚动条体验 契合Windows 11风格
- 2024-10-03 前端-css-属性-滚动条(scrollbar)样式
- 10-02基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- 10-02Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- 10-02AWD-LSTM语言模型是如何实现的_lstm语言模型
- 10-02NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 10-02使用ONNX和Torchscript加快推理速度的测试
- 10-02tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- 10-02Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- 10-02Gateway_gateways
- 最近发表
-
- 基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- AWD-LSTM语言模型是如何实现的_lstm语言模型
- NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 使用ONNX和Torchscript加快推理速度的测试
- tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- Gateway_gateways
- Coze开源本地部署教程_开源canopen
- 扣子开源本地部署教程 丨Coze智能体小白喂饭级指南
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)