Edge 115.0.1901.14中-ms-overflow-style:none失效,求替代CSS方案
隐藏滚动条但保留滚动功能的兼容方案(Edge 115+适配)
问题背景
之前在body元素上使用-ms-overflow-style: none实现隐藏滚动条但保留滚动功能,但该属性从Edge 115.0.1901.14版本起失效。原兼容多浏览器的代码如下:
body { /* hide scroll bar (keep functionality) IE, Edge, Firefox */ -ms-overflow-style: none; scrollbar-width: none; /* Mozilla */ } /* hide Scroll bar Chrome, Safari, Opera */ body::-webkit-scrollbar { display: none; }
适配Edge 115+的解决方案
由于当前Edge基于Chromium内核,115+版本已完全支持webkit系列的滚动条控制规则,可按以下方式调整代码:
- 保留webkit滚动条隐藏规则:
body::-webkit-scrollbar { display: none; }会同时作用于Chrome、Safari、Opera以及Edge 115+版本,完全替代失效的-ms-overflow-style: none。 - 保留Firefox专属属性:
scrollbar-width: none继续对Firefox生效,无需修改。 - 保留IE兼容代码:如果仍需支持旧版IE浏览器,继续保留
-ms-overflow-style: none即可,它不会对现代浏览器产生冲突。
调整后的最终代码:
body { /* 兼容旧版IE */ -ms-overflow-style: none; /* Firefox专属滚动条隐藏 */ scrollbar-width: none; } /* 适配Chrome、Safari、Opera、Edge 115+ */ body::-webkit-scrollbar { display: none; }
内容的提问来源于stack exchange,提问作者cicciosgamino
相关产品推荐
相关产品推荐

