页面加载闪白

今天遇到一个问题,写了一个使用深色背景图的网页,发现访问/刷新时,会出现短暂的闪白现象。

之前使用浅色背景时没有发现过这个问题,搜索半天也没有找到特别直白有效的回答。

找到的几个答案,有说预加载的,有说降低背景图片的分辨率的,使用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加载时页面闪烁白色背景,解决页面加载闪白问题-背景图片加载优化相关推荐

  1. recycler 刷新图片闪烁_android 解决RecyclerView notifyDataSetChanged刷新闪屏问题(图片刷新)...

    最近遇到了RecyclerView  在执行notifyDataSetChanged操作时会出现闪屏,图片刷新,然后根据网上资料提示使用 修改动画,设置动画时间 recyclerView.getIte ...

  2. vue+webpack项目打包后背景图片加载不出来问题解决

    vue+webpack项目打包后背景图片加载不出来问题解决 参考文章: (1)vue+webpack项目打包后背景图片加载不出来问题解决 (2)https://www.cnblogs.com/mica ...

  3. Hexo博客Next6.0版本主题配置(背景图片加载、侧边栏社交小图标设置、设置网站图标)

    随机背景图片加载 原理 自动更换背景是修改添加背景的css样式实现 图片来源 https://source.unsplash.com/ 修改背景样式 修改themes\next\source\css\ ...

  4. php背景图片透明度,css如何使用opacity属性给背景图片加透明度(代码)

    本篇文章给大家带来的内容是关于css如何使用opacity属性给背景图片加透明度(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. CSS 中无法直接给背景图片加 opacity ...

  5. html给背景图片加遮罩,科技常识:css3给背景图片加颜色遮罩的方法

    今天小编跟大家讲解下有关css3给背景图片加颜色遮罩的方法 ,相信小伙伴们对这个话题应该有所关注吧,小编也收集到了有关css3给背景图片加颜色遮罩的方法 的相关资料,希望小伙伴们看了有所帮助. 前段时 ...

  6. 背景图片hover加蒙层_css3给背景图片加颜色遮罩的方法

    前段时间在开发中,遇到需要给背景层加颜色遮罩的项目,现在特定总结一下给背景图层加颜色遮罩的方法. 方法一:通过定位叠加(注意层级) .wrap1 { position: relative; width ...

  7. 必应每日壁纸API HTML 使用必应每日API为背景 css 背景图片 加模糊 遮罩

    必应每日壁纸API 必应每日壁纸接口API https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh ...

  8. 网页背景图片加遮罩层详解

    首先加入背景图片 别的不说先上代码 <head> <!--中间引用和配置掠过--> <style>body {background-image: url(" ...

  9. vue页面加载时闪现_如何解决Vue.js显示数据的时,页面闪现

    下面我就为大家分享一篇解决使用Vue.js显示数据的时,页面闪现原始代码的问题,具有很好的参考价值,希望对大家有所帮助. 今天开始学习Vue.js的使用,但是在学习过程中发现一个问题,那就是页面加载数 ...

最新文章

  1. composer 修改为 国内镜像
  2. ACE - Reactor模式源码剖析及具体实现(大量源码慎入)
  3. 03- 网络最新流行
  4. js定时器、高亮修改单元格背景色
  5. 基于springboot2.x集成缓存注解及设置过期时间
  6. ajax修改按钮的html值,表格行的按钮AJAX后,怎么修改表格当前行的值
  7. WordPress插件-Wordfence Security v7.4汉化版-可更新
  8. 一个可变参数类型检查的示例
  9. php mysql 非空_PHP-为什么mysql接受非空字段为null
  10. 【操作系统/OS笔记11】并发执行的必要性,产生的问题,原子操作,为什么引入锁机制,面包购买的类比
  11. 图像处理控件ImageGear for .NET教程如何为应用程序 添加DICOM功能(2)
  12. Django下载超时
  13. 使用GRUB2制作U盘PE启动盘
  14. 2018年6月13日任务
  15. C语言万年历(n排)
  16. LSV打印并制作城市地图教程 还可以做分布图、标注图
  17. 【网络通信 -- 直播】OBS -- 基于 Visual Studio 2019 + Qt 5.15.2 编译调试 OBS studio 源码
  18. [学习笔记]Windows CMD/bat
  19. 让你效率飞起的右键工具——超级右键
  20. 印度内阁小组讨论华为投资 通信部表示支持

热门文章

  1. 撬动百亿VRAR产业,让VR们“造”起来
  2. 云图说|威胁检测服务赐您“火眼金睛” ,让潜在威胁无处遁行
  3. 教你用Java7的Fork/Join框架开发高并发程序
  4. 6大新品重磅发布,华为云全栈云原生技术能力持续创新升级
  5. 【有奖征文】WEB前端大作战,走在技术最前端!
  6. 【华为云技术分享】华为云文档数据库服务DDS监控告警全新优化
  7. 昇腾AI处理器软件栈--流程编排器(Matrix)
  8. mongodb php update,MongoDB文档的更新(php代码实例)
  9. 机器学习十大经典算法之朴素贝叶斯分类
  10. vs2017编写模板类出现以下错误时:没有与参数列表匹配的构造函数……