黑白梦黑白梦

  • 文章
  • 专栏
  • 文章
  • 专栏
全部文章

一个 css 属性解决 codemirror 移动端滚动条触发网页下拉刷新问题

发布于 2023-11-29更新于 2024-02-19约 1 分钟

在移动设备使用 codemirror 编辑器时,如果编辑器内的代码内容比较长,必然会有滚动条。

当编辑器处于接近页面顶部的场景,比如代码编辑器,上面就一个切换语言之类的,很接近页面顶部,这种样式下无论是触屏,还是通过鼠标连接平板,滑动滚动条都可能出现一个不符合预期的行为:网页下拉刷新。

其实,这个问题通过一个 css 属性即可解决。

overscroll-behavior-y ,用于控制滚动到边界时的效果。详细用法可见: https://developer.mozilla.org/zh-CN/docs/Web/CSS/overscroll-behavior

在控制 codemirror 的 react 组件的 module.scss 样式文件中,只需要这样写即可:

.wrap {
  :global(.cm-scroller) {
    overscroll-behavior-y: contain;
  }
}

一旦代码行数超出高度产生滚动条,这时滑动再也不会触发上拉刷新了。

上一篇使用 Chrome 开发者工具模拟静态资源文件及接口请求响应下一篇zustand 简易好用的 React 状态管理库

©2015-2026 黑白梦 粤ICP备15018165号

联系: heibaimeng@foxmail.com