css - IOS上的滚动问题
问题描述
我在使用 IOS Safari 时遇到滚动问题。该网站有一个固定的顶部和底部,很多图像,包括作为背景的伪元素(之前/之后),以及一些相对位置和负边距。
在android上它工作得很好,但在ios上它有时会卡住。我无法滚动,页面弹跳,经过一些尝试,问题停止了。
我在 body 和 html 元素上也有一个“overflow-x: hidden”。
有谁知道可能是什么原因造成的?
解决方案
iOS 浏览器(包括 Chrome 和 Safari)有一个错误,即 css 伪元素在滚动后可能会消失。有一个技巧可以修复:在滚动过程中删除伪 CSS,并在滚动完成后将其放回原处。
例如 css,将 "===" 作为类 ".info" 的伪元素:
.info:not(.scrolling) {
content: "===";
}
例如jQuery,在滚动时将类“scrolling”添加到类“.info”中,并在滚动完成时删除该类:
let isscrolling = null;
$(".info").on("scroll",function (e) {
if(isscrolling){
clearTimeout(isscrolling);
}
$(".info").addClass("scrolling");
isscrolling = setTimeout(function(){
$(".info").removeClass("scrolling");
isscrolling = null;
},100);
});
推荐阅读
- vue.js - q-input 有值,那么只有规则将适用
- javascript - 防止 Vue.Js 在挂载 DOM 元素时替换 Twig 内容
- html - 当我尝试将 svg 转换为 base64 并提供给图像源但我没有得到确切的字体系列和字体大小
- javascript - 道具没有在反应中传递子组件
- docker - 容器在使用 Dockerfile 时工作,但在使用 docker-compose.yml 时不工作
- c++ - 使用 clang 或 gcc 对 Mac 的 OpenMP 支持
- python - 如何从共享两个公共列的一组行中选择一列中具有最大值的熊猫行?
- java - 间歇性 NoClassDefFoundError 可能是什么原因?
- objective-c - GRPC prbc.h 类未生成objective-c
- javascript - 如何将 jQuery UI Draggable 与 jQuery slim 构建一起使用?