首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当在ios 14 safari上滚动时,图像消失,出现灰色背景

基础概念

在iOS 14 Safari浏览器上滚动时图像消失并出现灰色背景的问题,通常与浏览器的渲染机制和性能优化有关。iOS Safari使用了一种称为“分层渲染”的技术来提高页面滚动的流畅性。这种技术将页面分成多个图层,每个图层独立渲染,从而减少滚动时的重绘区域。

相关优势

分层渲染的主要优势包括:

  1. 提高性能:通过减少重绘区域,提高页面滚动的流畅性。
  2. 优化资源利用:每个图层可以独立优化,减少不必要的计算和渲染。

类型

这个问题通常属于前端开发中的性能优化问题,涉及到浏览器的渲染机制和JavaScript的执行效率。

应用场景

这种问题常见于需要频繁更新或滚动显示大量图像的网页,例如:

  • 图片轮播
  • 社交媒体动态
  • 电商网站的产品列表

问题原因

图像消失并出现灰色背景的原因可能有以下几种:

  1. 图层重绘问题:在滚动过程中,浏览器可能无法及时重绘某些图层,导致图像消失。
  2. JavaScript执行阻塞:如果页面中有大量的JavaScript代码在滚动时执行,可能会阻塞浏览器的渲染进程。
  3. 图像加载问题:图像文件过大或网络延迟,导致图像无法及时加载。

解决方法

  1. 优化图像加载
    • 使用适当的图像格式(如WebP)和压缩工具减小图像文件大小。
    • 使用懒加载技术,只在图像进入视口时加载。
    • 使用懒加载技术,只在图像进入视口时加载。
    • 使用懒加载技术,只在图像进入视口时加载。
  • 减少JavaScript执行阻塞
    • 将JavaScript代码放在页面底部,确保DOM加载完成后再执行。
    • 使用requestAnimationFrame来优化滚动事件的处理。
    • 使用requestAnimationFrame来优化滚动事件的处理。
  • 优化CSS
    • 避免使用过于复杂的CSS动画和过渡效果。
    • 使用will-change属性来提示浏览器提前优化某些元素。
    • 使用will-change属性来提示浏览器提前优化某些元素。

参考链接

通过以上方法,可以有效解决在iOS 14 Safari上滚动时图像消失并出现灰色背景的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2017移动前端的一些总结web前端 —— 移动端知识的一些总结一.css部分二.js部分

,不过是移动设备对页面 做了缩小优化,所以字体等都相应缩小了 (980px是相对于手机像素的,我的是超过1000px多一些就出现滚动条了,这个没具体研究)。...中safari允许全屏浏览        IOSSafari顶端状态条样式...-webkit-backdrop-filter: saturate(180%) blur(20px); background: rgba(0,0,0,0.5); 这个效果暂时只有 IOS9的 safari...(这个没用过)  ③ 有的时候比如弹出一个 iphone滑动出来的层,点击黑色半透明区域弹出层消失,这种可以在黑色区域绑定 touchend也是和 tap差不多的效果 7.当弹窗出现时,想禁止屏幕的滑动...4.微信 jssdk里预览图片接口,图片的 url不能填 base64编码, ios上会很卡,估摸着微信得卡个 5秒左右才打得开,而 android压跟就卡住或者一直卡在读取图片界面 5.微信当在输入框里输入消息

3.7K40

移动端web开发笔记

双击缩放是指用手指在屏幕快速点击两次,iOS 自带的 Safari 浏览器会将网页缩放至原始比例。...系统中元素被触摸产生的半透明灰色遮罩怎么去掉 ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha值为0,也就是属性值的最后一位设置为...body元素的滚动条,所以一般都借助 iScroll; Android 3.0/iOS解决了非body元素的滚动问题,但滚动条不可见,同时iOS只能通过2个手指进行滚动; Android 4.0解决了滚动条不可见及增加了快速回弹滚动效果...,不过随后这个特性又被移除; iOS从5.0开始解决了滚动条不可见及增加了快速回弹滚动效果 在iOS如果你想让一个元素拥有像 Native 的滚动效果,你可以这样做: .xxx { overflow...19、如何禁止保存或拷贝图像IOS) 通常当你在手机或者pad长按图像 img ,会弹出选项 存储图像 或者 拷贝图像,如果你不想让用户这么操作,那么你可以通过以下方法来禁止: img {

3.6K20
  • 小智在这3年开发中遇到的 CSS 问题及解决方案,有大佬帮他总结好了 !

    1.重置button和input元素的背景 添加一个按钮,重置它的背景,否则它会在不同的浏览器中看起来不同。...在下面的例子中,同样的按钮在 Chrome 和 Safari 中,后者添加了默认的灰色背景。 ?...在移动设备,浏览器会显示一个水平滚动条。 ? 解决方法就是使用 flex-wrap: wrap,这样当水平空间不够,浏览器会帮我们自动换行。...长单词和链接 当在移动屏幕阅读一篇文章,一个长单词或内联链接可能会导致出现水平滚动条。使用CSS word-break可以防止这种情况的发生 ?...水平滚动条 由于元素的宽度,有些元素会导致出现水平滚动条。 找到这个问题的原因最简单的方法就是使用 CSS outline。

    3.7K10

    移动Web学习笔记

    当你点击一个链接或者通过Javascript定义的可点击元素的时候,它就会出现一个半透明的灰色背景,设置 -webkit-tap-highlight-color: transparent就不会产生这个背景...safari浏览器中有个将网站添加到主屏幕的按钮,当网站设置了rel=”apple-touch-icon属性,当网站添加到屏幕,屏幕上会显示网站的图标点击此处查看详细解释 6....在iOS实现模糊效果的代码 -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); 7....继续滚动的速度和持续的时间和滚动手势的强烈程度成正比 10. pointer-events: none 解释:当鼠标点击设置了pointer-events: none属性的标签,标签不起作用,会出现类似于标签的禁用效果点击此处查看详细解释... 解释:使用浏览器访问网页,改变浏览器状态栏的背景颜色 36.

    1K30

    移动端常见问题解决方案

    里Button、Input的默认样式 -webkit-appearance:none; 禁用长按页面的弹出菜单 通常当你在手机上长按图像 img ,会弹出选项 存储图像 或者 拷贝图像,若不想让用户这么操作...(即全屏) 当我们将一个网页添加到主屏幕,会更希望它能有像 App 一样的表现,没有地址栏和状态栏全屏显示,代码如下: 该方案在 iOS 和 Android5.0+ 都通用。...,网页将充满整个屏幕,状态栏会盖在网页之上; 该设置只在 iOS 上有效。...document.documentElement.style.position = 'static'; document.body.style.overflow = ''; //出现滚动条...} /*遮罩层出现之前记录当前滚动位置*/ function getScrollTop() { return document.body.scrollTop || document.documentElement.scrollTop

    1.2K10

    📚一站式解决:H5开发全攻略,看这篇让你省时又省力

    ⭐️⭐️⭐️⭐️⭐️click 点击延迟与穿透问题 现象 在 iOS 设备,单击事件可能会有 300ms 的延迟,因为 Safari 浏览器需要在单击 300ms 后判断用户是否进行了第二次点击以实现双击缩放操作...失去焦点,键盘收起,键盘区域空白,未回落。 原因 键盘不能回落问题出现iOS 12+ 和 wechat 6.7.4+ 中,而在微信 H5 开发中是比较常见的 Bug。 ...是#/home,导致初始化微信 SDK 传入的分享 url 和用户实际触发分享操作页面的 url 不一致,致使在 iOS 分享失败。...⭐️⭐️iOS safari 被点击元素会出现半透明灰色遮罩 解决方案 给 html 或者 body 加入以下 css 代码。...禁止保存或拷贝图像 解决方案 长按图片保存场景下,禁止 IOS 默认识别图像行为。

    82120

    手机端页面在项目中遇到的一些问题及解决办法

    (1) 设置 html body 的高度为百分比,margin-bottom 在 safari 里失效 (2) 直接 padding 代替 margin 4.Ios 绑定点击事件不执行?...-- 可隐藏地址栏,仅针对IOSSafari(注:IOS7.0版本以后,safari已看不到效果) --> <!...不管当前有多少只手指 touchmove——当手指在屏幕滑动连续触发。...//ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha值为0去除灰色半透明遮罩; //android用户点击一个链接...,会出现一个边框或者半透明灰色遮罩, 不同生产商定义出来额效果不一样,可设置-webkit-tap-highlight-color的alpha值为0去除部分机器自带的效果; //winphone系统,点击标签产生的灰色半透明背景

    3.5K30

    【H5】316- 移动端H5跳坑指南

    IOS中不支持 - 连接日期 需要写成 var d = new Date("2017-08-11 12:00:00".replace(/-/g, "/")); 5.ios页面滚动不流畅 首先你可能会给页面的...ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha值为0去除灰色半透明遮罩; android用户点击一个链接,会出现一个边框或者半透明灰色遮罩..., 不同生产商定义出来额效果不一样,可设置-webkit-tap-highlight-color的alpha值为0去除部分机器自带的效果; winphone系统,点击标签产生的灰色半透明背景,能通过设置...(1) 设置html body的高度为百分比,margin-bottom在safari里失效 (2) 直接padding代替margin 9.Ios键盘换行变为搜索?...10.iOS 1px border 实现 iOS设备,由于retina屏的原因,1px 的 border 会显示成两个物理像素,所以看起来会感觉很粗,这是一个移动端开发常见的问题。

    1.1K20

    移动开发实用

    -- ios7.0版本以后,safari已看不到效果 --> 将网站添加到主屏幕快速启动方式,仅针对iossafari顶端状态条的样式 <meta name="apple-mobile-web-app-status-bar-style...双击缩放是指用手指在屏幕<em>上</em>快速点击两次,<em>iOS</em> 自带的 <em>Safari</em> 浏览器会将网页缩放至原始比例。...系统中元素被触摸<em>时</em>产生的半透明<em>灰色</em>遮罩怎么去掉 <em>ios</em>用户点击一个链接,会<em>出现</em>一个半透明<em>灰色</em>遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha值为0,也就是属性值的最后一位设置为...android用户点击一个链接,会<em>出现</em>一个边框或者半透明<em>灰色</em>遮罩, 不同生产商定义出来额效果不一样,可设置-webkit-tap-highlight-color的alpha值为0去除部分机器自带的效果...标签产生的边框》 winphone系统a、input标签被点击<em>时</em>产生的半透明<em>灰色</em><em>背景</em>怎么去掉

    6.5K30

    移动端爬坑记 --- (1)布局与样式的奇葩偶遇

    6-, Safari 3.1-6 */ display: -moz-box; /* OLD - Firefox 19- (buggy but mostly works...这里我的处理范围 var AUTOPREFIXER_BROWSERS = [ 'ie >= 9', 'ie_mob >= 9', 'ff >= 30', 'chrome >= 34', 'safari...IOS滚动窗滑动到底部还能弹窗拖拉的奇葩修复 这个方案是通过计算离底部多远加状态来阻止touch事件 // 防止内容区域滚到底后引起页面整体的滚动 var content = document.querySelector...和android下触摸元素出现半透明灰色遮罩 -webkit-tap-highlight-color:rgba(255,255,255,0) IOS 默认输入框内阴影重置 E{...禁止保存或拷贝图像 img { -webkit-touch-callout: none; } IOS中input键盘事件调用缓慢 直接改为监听input事件 document.getElementById

    12210

    挥别web移动端开发差异和经典坑

    web移动端 电话号码识别差异 在 iOS Safari (其他浏览器和 Android 均不会)上会对那些看起来像是电话号码的数字处理为电话链接,比如: 7 位数字,形如:1234567 带括号及加号的数字...描述:部分android系统点击一个链接,会出现一个边框或者半透明灰色遮罩, 不同生产商定义出来额效果不一样 解决: a,button,input,textarea{ -webkit-tap-highlight-color.... auto: 使用普通滚动, 当手指从触摸屏移开,滚动会立即停止。...解决: fastclick可以解决在手机上点击事件的300ms延迟 zepto的touch模块,tap事件也是为了解决在click的延迟问题 iOS拉边界下拉出现空白,安卓无 描述:手指按住屏幕下拉,...(使用输入法输入的过程中) compositionend: 在输入法编辑器的文本复合系统关闭触发,表示返回正常键盘输入状态(选中文字,输入法消失的那一刻) 判断限制: $('#input').

    2.9K20

    H5 项目实用

    -webkit-touch-callout: none; ---- 10、取消IOS里Button、Input的默认样式?...::-webkit-input-placeholder{color:#ccc} ---- 14、H5页面input type=”num”想去掉右边的上下箭头,怎么办?...//ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha值为0去除灰色半透明遮罩; //android用户点击一个链接...,会出现一个边框或者半透明灰色遮罩, 不同生产商定义出来额效果不一样,可设置-webkit-tap-highlight-color的alpha值为0去除部分机器自带的效果; //winphone系统,...及Android无法使用,在PC端正常 //2.audio元素没有设置controls,在IOS及Android会占据空间大小,而在PC端Chrome是不会占据任何空间 ---- 33、重力感应事件

    5.3K11

    第135天:移动端开发经验总结

    不管当前有多少只手指 touchmove:当手指在屏幕滑动连续触发。...通常我们再滑屏页面, 会调用event的preventDefault()可以阻止默认情况的发生:阻止页面滚动 touchend:当手指离开屏幕触发 touchcancel:系统停止跟踪触摸时候会触发。...系统中元素被触摸产生的半透明灰色遮罩怎么去掉         ios用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha...值为0,也就是属性值的最后一位设置为0就可以去除半透明灰色遮罩。...(IOS) 通常当你在手机或者pad长按图像 img ,会弹出选项存储图像 或者拷贝图像,如果你不想让用户这么操作,那么你可以通过以下方法来禁止: img { -webkit-touch-callout

    1.6K30

    设计师会编程、程序员懂艺术:Semi Flat Design

    我们看下相关事件: 2006年, 微软媒体播放器内置系统 Zune 就开始使用类似 Metro 的设计风格 2007年, 苹果发布首款iPhone,拟物化设计的iOS系统 2013年, 苹果在iOS7改用扁平化设计...背景图像的某些部分也许无法显示在背景定位区域中。 contain 把图像图像扩展至最大尺寸,以使其宽度和高度完全适应内容区域。 这里先不管cover还是contain,先设置个cover。...background-attachment 设置或检索背景图像是随对象内容滚动还是固定的。 1)fixed: 背景图像相对于窗体固定。...2)scroll: 背景图像相对于元素固定,也就是说当元素内容滚动背景图像不会跟着滚动,因为背景图像总是要跟着元素本身。但会随元素的祖先元素或窗体一起滚动。...3)local: 背景图像相对于元素内容固定,也就是说当内容随元素滚动背景图像也会跟着滚动,因为背景图像总是要跟着内容。

    2.4K60

    扒虫篇-Bug日志 Ⅱ

    1.一个奇葩的注册App上传出的蛋疼问题 事情是这样的:一个风和日丽的下午,我正在 itunesConnect 中注册一个APP,基本信息都保存了,在编辑版本信息,都弄的差不多了,可是没有保存,结果不巧...,等来电之后我再次注册: ?...一个自定义弹框,点击页面上任何地方都会触发消失手势 ~ 一个自定义弹框中有一个灰色背景,点击可以让整个弹框都消失,点击中心的白色编辑区域,不应该消失,可是现在,点击中心的白色编辑区域也会触发加在灰色背景消失手势...解决方法: 原因是因为,白色的区域 addSubView 在了 灰色背景视图上,手势加在灰色视图上,因为白色的父视图是灰色的视图,所以点击白色的区域也会触发其父视图的手势,,,,,只需要把白色视图不加在...灰色区域即可,这样,点击白色区域就不会触发灰色背景消失手势了。

    58510

    开发 h5| Hybrid | 微信小程序 | 实践踩坑总结十六条

    屏幕拉下滑出现空白 背景 手指按住屏幕下拉,屏幕顶部会多出一块空白区域。...手指按住屏幕拉,底部多出一块空白区域。空白区域的颜色,在不同app平台打开,颜色会有差别,嵌入京东app h5中的空白背景色为白色,但是在微信中为灰色。 ?...: touch 卡住不动问题 背景ios页面向上向下滑动的过程中,会出现卡顿,不流畅的现象,具体问题如下: 1 在safari,使用了-webkit-overflow-scrolling:touch...(中招) 2 在safari,点击其他区域,再在滚动区域滑动,滚动条无法滚动的(中招)。...1 android问题:打开webview被微信拦截问题 背景 在微信小程序里开发webview h5的时候,在配置了合法域名,域名备案的情况下,出现ios 正常打开,但是在 android 手机上出现了被拦截的情况

    2.5K30

    移动web开发问题和优化小结

    " /> 禁止android上自动识别邮箱 下面两个是针对iossafari上地址栏和顶端样式条的...7.快速回弹滚动ios,如果存在局部滚动,就要加这个属性了!如果不加,滚动会很慢,看起来也会有一卡一卡的感觉。...8.谨慎使用fixed ios下fixed元素容易定位出错,软键盘弹出,影响fixed元素定位,会发生元素错位(滚动一下又恢复),有时候会出现闪屏的效果。...系统中去掉元素被触摸产生的半透明灰色遮罩 a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)} 11.ios中去掉默认...iPhone X的缺口和CSS 借助CSS Shapes实现元素滚动自动环绕iPhone X的刘海 剖析 iOS 11 网页适配问题 手机管家iPhoneX的适配总结 15.其它参考 上面所说都是遇到的具体问题

    2.1K21

    中高级前端必须注意的40条移动端H5坑位指南 | 网易三年实践

    可能在设计图对应分辨率的移动设备下,背景会完美贴合显示,但换到其他分辨率的移动设备下就会出现左右空出1px到npx的空隙。...在苹果系统非元素的滚动操作可能会存在卡顿,但安卓系统不会出现该情况。...* { text-size-adjust: 100%; } 禁止高亮显示 触摸元素会出现半透明灰色遮罩,不想要!...import Fastclick from "fastclick"; FastClick.attach(document.body); 禁止滑动穿透 移动端浏览器里出现弹窗,若在屏幕滑动能触发弹窗底下的内容跟着滚动...这种情况在Safari特别明显,简单概括就是往返页面无法刷新。 「往返缓存」指浏览器为了在页面间执行前进后退操作能拥有更流畅体验的一种策略,以下简称BFCache。

    4.3K22
    领券