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

news/2024/9/23 3:32:14/

文章目录

  • 前言
  • 总结
  • 解决方法

前言

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

总结

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

如下面

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

在这里插入图片描述

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

在这里插入图片描述

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

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

解决方法

1.使用CSS媒体查询

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

@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属性来确定窗口的宽度,并据此设置滚动条的宽度,例如

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都不占了,这种方法还没有试过,可以尝试。

body,html{overflow: scroll;
}

http://www.ppmy.cn/news/1508857.html

相关文章

k8s 四种Service类型(ClusterIP、NodePort、LoadBalancer、ExternalName)详解

🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、引言 1、k8s概述 2、Service在Kubernetes中的…

ubuntu大模型GPU版本安装及部署

版本查看: nvidia-smi 离线下载地址: 下载 NVIDIA 官方驱动 | NVIDIA (选型) Linux x64 (AMD64/EM64T) Display Driver | 535.146.02 | Linux 64-bit | NVIDIA(选型结果) 下载 NVIDIA 官方驱动 | NVIDIA apt-get update 禁用nouveau(nouveau是通用的…

初识Django

初识Django Python知识点:函数、面向对象。前端开发:HTML、CSS、JavaScript、jQuery、BootStrap。MySQL数据库。Python的Web框架: Flask,自身短小精悍 第三方组件。Django,内部已集成了很多组件 第三方组件。【主要…

IIS网站搬家工具WebDeploy(把网站迁移去另一台服务器)

如果不能克隆镜像,又想快速迁移,请保证新服务器和原服务器的文件目录结构一致,各种程序的安装路径一致,包括python的安装路径、mysql的秘密 防火墙设置等 网站迁移去另一台服务器,如果重新设置IIS,还是有…

数据库概述MySQL环境配置

1. MySQL概述 MySQL是一种开源的关系型数据库管理系统(RDBMS),由瑞典公司MySQL AB开发,现由Oracle公司维护。它以其高性能、可靠性和易用性而闻名,广泛应用于各种Web应用程序中。 2. 什么是数据库? 数据库…

原生html+js使用import语法

指定script标签的type为module即可使用ES模块化方式开发 <script type"module">import { createApp } from https://unpkg.com/vue3/dist/vue.esm-browser.jscreateApp({data() {return {message: Hello Vue!}}}).mount(#app) </script>如果不使用modul…

Windows图形界面(GUI)-MFC-C/C++ - 树形视图(Tree Control) - CTreeCtrl

公开视频 -> 链接点击跳转公开课程博客首页 -> ​​​链接点击跳转博客主页 目录 树形视图(Tree Control) - CTreeCtrl 创建和初始化 添加和删除项 获取和设置项属性 操作项 项选择变化 项双击 项展开 示例代码 树形视图(Tree Control) - CTreeCtrl 创建和初始…

Kotlin 值类(Value Class)

在 Java 中&#xff0c;像 Integer、Double 等都是 包装类&#xff0c;都需要创建对象 装箱 数值。 很显然 创建对象是 消耗额外内存的&#xff0c;而 对于优化这种问题&#xff0c;Kotlin 引入了 value class&#xff0c;尽量避免装箱和脱箱。 一、声明语法 JvmInline value…