Firefox滚动条在Win10和Win11下表现不一致问题?

文章目录

前言

最近在写页面的时候发现一个非常有意思的事。Firefox滚动条在Win10和Win11下表现居然不一致。在网上几经查找资料, 终于找到原因所在。总结成下面的文章,加深印象也防止下次遇到。

总结

参考文章:
Firefox滚动条在Win10和Win11下表现不一致问题?

如下面

win10系统下,Firefox的滚动条会占用页面宽度,是一种比较粗的滚动条,很原始

win11系统下,则反之,不会占用页面宽度,是一种细小的滚动条,鼠标放在上面会有一个focus 效果(放大),比较接近现在

根本原因:查了一下出处,疑似是 Firefox 97 版本的一次针对 win11 的更新导致

上面说的还只是滚动条问题,仔细研究会发现,同样的Firefox浏览器 都是最新版在win10 和win11 上样式居然不一样,也是很神奇了。

解决方法

1.使用CSS媒体查询

可以使用CSS媒体查询来根据窗口宽度调整滚动条的样式,例如

javascript 复制代码
@media screen and (max-width: 1024px) {
  /* 在窗口宽度小于等于1024px时应用以下样式 */
  ::-webkit-scrollbar {
    width: 10px;
  }
}

@media screen and (min-width: 1025px) {
  /* 在窗口宽度大于1024px时应用以下样式 */
  ::-webkit-scrollbar {
    width: 8px;
  }
}

2.使用JavaScript

使用JavaScript来实现这个功能,您可以通过检查窗口的innerWidth属性来确定窗口的宽度,并据此设置滚动条的宽度,例如

javascript 复制代码
window.addEventListener('resize', function() {
  var scrollbarWidth = window.innerWidth > 1024 ? 8 : 10;
  document.documentElement.style.setProperty('--scrollbar-width', scrollbarWidth + 'px');
});

然后在CSS中,可以使用var()函数来引用这个变量,例如:::-webkit-scrollbar { width: var(--scrollbar-width); }

3.使用第三方库

还可以考虑使用第三方库来处理滚动条的样式。例如,您可以使用"SimpleBar"或"Perfect Scrollbar"等库,这些库提供了更多的配置选项和更好的兼容性。

4.直接使用以下代码

直接使用以下代码,这样应该所有scroll都不占了,这种方法还没有试过,可以尝试。

javascript 复制代码
body,html{
    overflow: scroll;
}
相关推荐
2501_9159184115 分钟前
Web 前端可视化开发工具对比 低代码平台、可视化搭建工具、前端可视化编辑器与在线可视化开发环境的实战分析
前端·低代码·ios·小程序·uni-app·编辑器·iphone
程序员的世界你不懂1 小时前
【Flask】测试平台开发,新增说明书编写和展示功能 第二十三篇
java·前端·数据库
索迪迈科技1 小时前
网络请求库——Axios库深度解析
前端·网络·vue.js·北京百思可瑞教育·百思可瑞教育
gnip1 小时前
JavaScript二叉树相关概念
前端
attitude.x2 小时前
PyTorch 动态图的灵活性与实用技巧
前端·人工智能·深度学习
β添砖java2 小时前
CSS3核心技术
前端·css·css3
空山新雨(大队长)2 小时前
HTML第八课:HTML4和HTML5的区别
前端·html·html5
AI云原生3 小时前
如何使用Docker快速运行Firefox并实现远程访问本地火狐浏览器的教程
运维·docker·云原生·容器·serverless·firefox·kubeless
猫头虎-前端技术3 小时前
浏览器兼容性问题全解:CSS 前缀、Grid/Flex 布局兼容方案与跨浏览器调试技巧
前端·css·node.js·bootstrap·ecmascript·css3·媒体