【vue】图片加载骨架

一、前言

在网速较低或者网站的服务器宽带只有几MB的情况下,网页中的图片加载时,要么空白,要么像打印机一样一行一行地“扫描”出来,为了提升用户体验,可以给图片标签外加一层骨架。

无骨架
有骨架

 二、详细设计

每张图片都要配一张它的低分辨率图片,可以在photoshop中完成。建议加上一个高斯模糊。这个图片用作骨架的底图,它的大小只有30k左右,页面很快就能加载好。

 这是没加骨架的html

<div class="box"><img src="@/assets/load1.jpg">
</div>

加骨架后

<div class="box blur-load" :class="{loaded:isLoaded}" :style="{backgroundImage: 'url(' + require('@/assets/loading1.jpg') + ')'}"><img src="@/assets/load1.jpg">
</div>

blur-load是骨架样式,loaded是控制图片是否显示,后面的style是加载刚刚说的底图。

这是blur-load的css

.blur-load{background-size: cover;background-position: center;background-repeat: no-repeat;
}
.blur-load::before{content: '';position: absolute;inset: 0;animation: pulse 2.5s infinite ease-in-out;background-color: rgba(255,255,255,0.3);
}
@keyframes pulse {0%{background-color: rgba(255,255,255,0.3);}50%{background-color: rgba(255,255,255,0);}100%{background-color: rgba(255, 255, 255, 0.3);}
}
.blur-load>img{opacity: 0;
}
.blur-load.loaded>img{opacity: 1;transition: opacity 0.5s ease-in-out;
}

图片加载好后显示图片

image_load(){let img = new Image();img.src = require('@/assets/load2.png');img.onload = ()=>{this.isLoaded = true;}
}

在生命周期mounted中调用该方法

mounted(){this.image_load();
},

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/653393.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL之索引分类,语法以及SQL性能分析(慢日志,profile,explain)

索引分类 分类含义特定关键字主键索引针对于表中主键创建的索引默认自动创建&#xff0c;只能有一个PRIMARY唯一索引避免同一个表中某数据列中的值重复可以有多个UNIQUE常规索引快速定位特定数据可以有多个全文索引全文索引查找的文本中的关键字&#xff0c;而不是比较索引中的…

Asp.net Core Mvc 7.0 Web 控制器接收Get/Post表单参数

记得.Net 5之前都是直接用 Request.Form 非常方便&#xff0c;但似乎6.0以后就不能这样用了。 1、接受post表单&#xff0c;使用 IFormCollection public IActionResult Login(IFormCollection pms){ViewData["name"] pms["login-username"]; ViewData[&…

如何在 VM 虚拟机中安装 Deft(数字证据及取证工具箱) 操作系统保姆级教程(附链接)

一、VMware Workstation 虚拟机 先得安装 VM 虚拟机&#xff0c;没有的可以参考这篇文章安装 VM 虚拟机 如何在 VM 虚拟机中安装 Win10 操作系统保姆级教程&#xff08;附链接&#xff09;https://eclecticism.blog.csdn.net/article/details/135713915 二、Deft 镜像 下载…

Open CASCADE学习| ​提取曲面的PCurve

PCurve这个概念&#xff0c;字面上来理解就是参数曲线&#xff08;Parametric Curve&#xff09;。参数空间曲线是在参数曲面的双参数空间中的二维样条曲线。 二维曲线定义的目的只有一个&#xff1a;pCurve&#xff0c;参数曲线。OCC采用参数法构建几何结构&#xff0c;所有的…

【缓存周总结】Redis缓存的使用以及数据安全的处理

前言 Redis非关系型数据库已经是很常见的工具了&#xff0c;项目中用到的也很多&#xff0c;这篇文章系统的分析下使用过程中可能会遇到的问题 一、缓存 缓存是数据交换的缓冲区&#xff0c;是存贮数据的临时地方&#xff0c;一般读写性能较高。 我们项目中引用的Redis目的就是…

【前端web入门第二天】02 表单-input标签-单选框-多选框

表单 文章目录: 1.input标签基本使用 1.1 input标签占位文本1.2 单选框 radio 1.3 多选框 checkbox 作用:收集用户信息。 使用场景: 登录页面注册页面搜索区域 1.input标签基本使用 input标签type属性值不同&#xff0c;则功能不同。 <input type"..."&g…

Android Okhttp断点续传

什么是断点续传 指的是在上传/下载时&#xff0c;将任务&#xff08;一个文件或压缩包&#xff09;人为的划分为几个部分&#xff0c;每一个部分采用一个线程进行上传/下载&#xff0c;如果碰到网络故障&#xff0c;可以从已经上传/下载的部分开始继续上传/下载未完成的部分&a…

RabbitMQ面试

1. 什么是RabbitMQ RabbitMQ是使用Erlang语言开发的&#xff0c;基于AMQP高级消息队列的开源消息中间件 Erlang语言主要用于开发并发和分布式系统&#xff0c;在电信领域得到广泛应用 2.什么是消息中间件 消息中间件是在分布式系统中传递消息的软件服务。它允许不同的系统组件…

机器学习 | 如何使用 Seaborn 提升数据分析效率

Seaborn和Matplotlib都是Python可视化库&#xff0c;它们都可以用于创建各种类型的图表。但是&#xff0c;Seaborn 和Matplotlib在概念和设计上有一些不同。 Matplotlib虽然已经是比较优秀的绘图库了&#xff0c;但是它有个今人头疼的问题&#xff0c;那就是API使用过于复杂&am…

面试经典 150 题 ---- 移除元素

面试经典 150 题 ---- 移除元素 移除元素方法一&#xff1a;双指针方法二&#xff1a;双指针优化 移除元素 方法一&#xff1a;双指针 题目要求在原数组的基础进行元素的删除&#xff0c;所以输出的数组长度一定小于原数组的长度&#xff0c;因此可以使用双指针&#xff0c;r…

CMMI、SPCA、CSMM,三种认证的差异有哪些?

在当今的企业环境中&#xff0c;体系认证已经成为了一个重要的议题。其中&#xff0c;CMMI、SPCA和CSMM是三种广泛使用的认证&#xff0c;它们在各自领域内具有特定的目标和要求&#xff0c;今天擎标就带大家了解一下这三种认证之间的差异。 CMMI、CSMM和SPCA分别是什么 1、C…

htb Pov wp简记

最近懒得飞起 不想写太细&#xff0c;有师傅想看完整的可以留个言或者私信 我再补补… user部分 nmap只扫到一个端口 http/80 目录没扫出什么 vhost扫出dev来 在抓包访问页面邮箱丢出去的包有包含asp.net的viewstate&#xff0c;这里一开始我还没在意&#xff0c;后来发现有个…

【YOLO系列算法俯视视角下舰船目标检测】

YOLO系列算法俯视视角下舰船目标检测 数据集和模型YOLO系列算法俯视视角下舰船目标检测YOLO系列算法俯视视角下舰船目标检测可视化结果 数据集和模型 数据和模型下载&#xff1a; YOLOv6俯视视角下舰船目标检测训练好的舰船目标检测模型舰船目标检测数据YOLOv7俯视视角下舰船…

AGP更改gradle版本无效的解决方案

从Github下载了一个项目&#xff0c;非常激进&#xff0c;AGP版本8.4.0&#xff0c;而我的AS只支持到8.2.0 详见&#xff1a;https://developer.android.com/build/releases/gradle-plugin?buildsystemndk-build&hlzh-cn#android_gradle_plugin_and_android_studio_compa…

微服务架构实施攻略:如何选择合适的微服务数据管理策略?

随着业务的快速发展和系统的日益复杂&#xff0c;传统的单体应用逐渐显露出瓶颈&#xff0c;已无法满足现代软件研发的需求。微服务架构作为一种灵活、可扩展的解决方案&#xff0c;通过将复杂系统拆分为一系列小型服务来提高系统的可伸缩性、灵活性和可维护性。在实施微服务架…

代码随想录算法训练营第十八天| 513.找树左下角的值 ● 112. 路径总和 ● 106.从中序与后序遍历序列构造二叉树

层序遍历、回溯、由两种遍历序列逆推二叉树 513.找树左下角的值 思路&#xff1a; 使用层序遍历&#xff0c;只需要记录最后一行第一个节点的数值就可以了。 特殊情况&#xff1a; 代码实现 class Solution { public:int findBottomLeftValue(TreeNode* root) {int val;//利用…

系统安全程序优化

我们为什么需要优化防火墙服务呢&#xff1f; 防火墙概念介绍&#xff1a; 防火墙作为本地计算机的一道防御&#xff0c;抵御着病毒、蠕虫、木马和强力的黑客攻击。 它既能以软件&#xff08;安全程序&#xff09;的形式出现&#xff0c;也可以采用硬件&#xff08;物理路由…

【Javaweb程序设计】【C00163】基于SSM房屋中介服务平台(论文+PPT)

基于SSM房屋中介服务平台&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的房屋中介服务平台 本系统分为前台、管理员、用户3个功能模块。 前台&#xff1a;当游客打开系统的网址后&#xff0c;首先看到的就是首页界面。…

【极数系列】Flink集成DataSource读取集合数据(07)

文章目录 01 引言02 简介概述03 基于集合读取数据3.1 集合创建数据流3.2 迭代器创建数据流3.3 给定对象创建数据流3.4 迭代并行器创建数据流3.5 基于时间间隔创建数据流3.6 自定义数据流 04 源码实战demo4.1 pom.xml依赖4.2 创建集合数据流作业4.3 运行结果日志 01 引言 源码地…

C语言-指针的基本知识(下)

四、指针的分类 按指针指向的数据的类型来分 1:字符指针 字符型数据的地址 char *p;//定义了一个字符指针变量&#xff0c;只能存放字符型数据的地址编号 char ch; p &ch; 2&#xff1a;短整型指针 short int *p;//定义了一个短整型的指针变量p&#xff0c…