html加载时页面闪烁白色背景,解决页面加载闪白问题-背景图片加载优化
页面加载闪白
今天遇到一个问题,写了一个使用深色背景图的网页,发现访问/刷新时,会出现短暂的闪白现象。
之前使用浅色背景时没有发现过这个问题,搜索半天也没有找到特别直白有效的回答。
找到的几个答案,有说预加载的,有说降低背景图片的分辨率的,使用js加载背景的。试过之后感觉效果都不理想。
后来又重新观察了一下闪白的情况,发现每次都是页面的后半段闪烁,才发现问题的关键不在代码,而在图片
图片加载的两种方式:
Baseline JPEG(基准式)
Progressive JPEG(渐进式)
基准型加载
这种类型的文件存储方式是按从上到下的扫描方式,打开这个文件显示它的内容时,数据将按照存储时的顺序从上到下一行一行的被显示出来,直到所有的数据都被读完,就完成了整张图片的显示。
放到浏览器里就是这样我遇到的这种情况了,虽然图片很快就加载完成了,但是有一点小小的延迟,就会导致闪白。
渐进式加载
这种文件包含多次扫描,会先显示整个图片的模糊轮廓,随着扫描次数的增加,图片变得越来越清晰。
打开图片的效果是,先会加载一张比较模糊的图片大图,随着不断的加载,图片会越来越清晰。
优化方案
将背景图片的加载格式转换成渐进式加载即可。
PS转换
将图片放入ps中重新到出,到处是选择渐进式加载格式即可。
代码转换
就该个格式用ps还是有点麻烦,用代码直接修改还是更适合我们。
下面给出我用Python的转换代码。
from PIL import Image,ImageFile
img=Image.open(‘./bg.png‘)
destination = "./bg.jpeg"
try:
img.save(destination, "JPEG", quality=80, optimize=True, progressive=True)
except :
ImageFile.MAXBLOCK = img.size[0] * img.size[1]
img.save(destination, "JPEG", quality=80, optimize=True, progressive=True)
原文:https://www.cnblogs.com/aduner/p/14370246.html
html加载时页面闪烁白色背景,解决页面加载闪白问题-背景图片加载优化相关推荐
- recycler 刷新图片闪烁_android 解决RecyclerView notifyDataSetChanged刷新闪屏问题(图片刷新)...
最近遇到了RecyclerView 在执行notifyDataSetChanged操作时会出现闪屏,图片刷新,然后根据网上资料提示使用 修改动画,设置动画时间 recyclerView.getIte ...
- vue+webpack项目打包后背景图片加载不出来问题解决
vue+webpack项目打包后背景图片加载不出来问题解决 参考文章: (1)vue+webpack项目打包后背景图片加载不出来问题解决 (2)https://www.cnblogs.com/mica ...
- Hexo博客Next6.0版本主题配置(背景图片加载、侧边栏社交小图标设置、设置网站图标)
随机背景图片加载 原理 自动更换背景是修改添加背景的css样式实现 图片来源 https://source.unsplash.com/ 修改背景样式 修改themes\next\source\css\ ...
- php背景图片透明度,css如何使用opacity属性给背景图片加透明度(代码)
本篇文章给大家带来的内容是关于css如何使用opacity属性给背景图片加透明度(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. CSS 中无法直接给背景图片加 opacity ...
- html给背景图片加遮罩,科技常识:css3给背景图片加颜色遮罩的方法
今天小编跟大家讲解下有关css3给背景图片加颜色遮罩的方法 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关css3给背景图片加颜色遮罩的方法 的相关资料,希望小伙伴们看了有所帮助. 前段时 ...
- 背景图片hover加蒙层_css3给背景图片加颜色遮罩的方法
前段时间在开发中,遇到需要给背景层加颜色遮罩的项目,现在特定总结一下给背景图层加颜色遮罩的方法. 方法一:通过定位叠加(注意层级) .wrap1 { position: relative; width ...
- 必应每日壁纸API HTML 使用必应每日API为背景 css 背景图片 加模糊 遮罩
必应每日壁纸API 必应每日壁纸接口API https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh ...
- 网页背景图片加遮罩层详解
首先加入背景图片 别的不说先上代码 <head> <!--中间引用和配置掠过--> <style>body {background-image: url(" ...
- vue页面加载时闪现_如何解决Vue.js显示数据的时,页面闪现
下面我就为大家分享一篇解决使用Vue.js显示数据的时,页面闪现原始代码的问题,具有很好的参考价值,希望对大家有所帮助. 今天开始学习Vue.js的使用,但是在学习过程中发现一个问题,那就是页面加载数 ...
最新文章
- composer 修改为 国内镜像
- ACE - Reactor模式源码剖析及具体实现(大量源码慎入)
- 03- 网络最新流行
- js定时器、高亮修改单元格背景色
- 基于springboot2.x集成缓存注解及设置过期时间
- ajax修改按钮的html值,表格行的按钮AJAX后,怎么修改表格当前行的值
- WordPress插件-Wordfence Security v7.4汉化版-可更新
- 一个可变参数类型检查的示例
- php mysql 非空_PHP-为什么mysql接受非空字段为null
- 【操作系统/OS笔记11】并发执行的必要性,产生的问题,原子操作,为什么引入锁机制,面包购买的类比
- 图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)
- Django下载超时
- 使用GRUB2制作U盘PE启动盘
- 2018年6月13日任务
- C语言万年历(n排)
- LSV打印并制作城市地图教程 还可以做分布图、标注图
- 【网络通信 -- 直播】OBS -- 基于 Visual Studio 2019 + Qt 5.15.2 编译调试 OBS studio 源码
- [学习笔记]Windows CMD/bat
- 让你效率飞起的右键工具——超级右键
- 印度内阁小组讨论华为投资 通信部表示支持
热门文章
- 撬动百亿VRAR产业,让VR们“造”起来
- 云图说|威胁检测服务赐您“火眼金睛” ,让潜在威胁无处遁行
- 教你用Java7的Fork/Join框架开发高并发程序
- 6大新品重磅发布,华为云全栈云原生技术能力持续创新升级
- 【有奖征文】WEB前端大作战,走在技术最前端!
- 【华为云技术分享】华为云文档数据库服务DDS监控告警全新优化
- 昇腾AI处理器软件栈--流程编排器(Matrix)
- mongodb php update,MongoDB文档的更新(php代码实例)
- 机器学习十大经典算法之朴素贝叶斯分类
- vs2017编写模板类出现以下错误时:没有与参数列表匹配的构造函数……