当前位置: 首页 > news >正文

前端用动画快速实现骨架屏效果

一、动画的语法

1.定义动画

@keyframes 自定义动画名称 {// 开始from {transform: scale(1);}// 结束to {transform: scale(1.5);}
}// 或者还可以使用百分比定义@keyframes 动画名称 {// 开始0% {transform: scale(1);}// 结束100% {transform: scale(1.5);}
}

2.调用

animation: 动画名称 动画时长 速度曲线 延迟时间 重复次数 动画方向 暂停动画 执行完毕时状态

(属性写的时候不分先后顺序)

属性作用取值
animation-name
动画名称自定义
animation-duration
动画时长单位s(秒)
animation-delay
延迟时间单位s(秒)
animation-timing-functio
速度曲线

linear 动画从头到尾的速度是相同的

ease 默认,动画以低速开始,然后加快,在结束前变慢

ease-in 动画以低速开始

ease-out 动画以结束开始

ease-in-out 动画以低速开始和结束

animation-iteration-count
重复次数
infinite为无限循环
animation-direction
动画方向

normal 按时间轴顺序

reverse 时间轴反方向运行

alternate 轮流,即来回往复进行

alternate-reverse 动画先反运行再正方向运行,并持续交替运行

animation-play-state
暂停动画
running 继续
paused 暂停,通常配合:hover使用

animation-fill-mode

执行完毕时状态
none 回到动画没开始时的状态
forwards 动画结束后动画停留在最后一帧的状态
backwards 动画回到第一帧的状态
both 根据animation-direction轮流应用forwards和backwards规则
注意:与iteration-count不要冲突(动画执行无限次)

 3D基础语法可参考我的另一篇博客:https://mp.csdn.net/mp_blog/creation/editor/127406706

三、通过动画实现骨架屏效果

以下宽高可以通过组件传值自定义,这里给的是固定宽高

<script setup lang="ts">
defineProps<{animation: boolean
}>()
</script>
<template><div class="big"><div class="little" :class="{ active: animation }"></div></div>
</template>
<style lang="scss" scoped>
.big {position: relative;width: 200px;height: 200px;background-color: #ccc;overflow: hidden;.little {position: absolute;left: -200px;top: 0;width: 200px;height: 50px;background: linear-gradient(to right, plum, yellowgreen, paleturquoise);&.active {animation: screen 0.8s infinite;}}
}
// 定义动画
@keyframes screen {// 开始from {}// 结束to {transform: translateX(600px);}
}</style>

 

相关文章:

前端用动画快速实现骨架屏效果

一、动画的语法 1.定义动画 keyframes 自定义动画名称 {// 开始from {transform: scale(1);}// 结束to {transform: scale(1.5);} }// 或者还可以使用百分比定义keyframes 动画名称 {// 开始0% {transform: scale(1);}// 结束100% {transform: scale(1.5);} } 2.调用 anima…...

Python入门(未完待续。。。)

认识python 解释型&#xff08;写完直接运行&#xff09;、面向对象的高级编程语言&#xff1b;开源免费、支持交互式、可跨平台移植的脚本语言&#xff1b;优点&#xff1a;开源、易于维护、可移植、简单优雅、功能强大、可扩展、可移植&#xff1b;缺点&#xff1a;解释型→运…...

注解配置SpringMVC

使用配置类和注解代替web.xml和Spring和SpringMVC配置文件的功能。创建初始化类&#xff0c;代替web.xmlSpring3.2引入了一个便利的WebApplicationInitializer基础实现&#xff0c;名为AbstractAnnotationConfigDispatcherServletInitializer&#xff0c;当我们的类扩展了Abstr…...

多项新规重磅发布,微信视频号近期需要关注这几点

随着功能的完善和内容生态的丰富&#xff0c;视频号逐渐放慢产品更新频率&#xff0c;将重点放到商家准入标准、创作者扶持计划上来&#xff0c;本期我们将更侧重解读平台新规&#xff0c;帮助大家了解行业动向&#xff0c;把握最新趋势。01 视频号小店结算规则修订 取消48小时…...

Java调用第三方http接口的方式

1. 概述 在实际开发过程中&#xff0c;我们经常需要调用对方提供的接口或测试自己写的接口是否合适。很多项目都会封装规定好本身项目的接口规范&#xff0c;所以大多数需要去调用对方提供的接口或第三方接口&#xff08;短信、天气等&#xff09;。 在Java项目中调用第三方接…...

【跟我一起读《视觉惯性SLAM理论与源码解析》】第五章第六章 对极几何图优化库的使用

极平面&#xff0c;极点&#xff0c;极线的概念对极几何&#xff0c;对极约束的概念&#xff0c;通过叉积以及点积的性质推导单应矩阵以及基础矩阵光束平差法BA是LSAM中常用的非线性优化方法一个图由若干个顶点以及这些顶点连接的边构成&#xff0c;顶点通常是待优化的变量例如…...

从没想过开源 API 工具的 Mock 功能,这么好用

很多时候&#xff0c;接口尚未开发完成&#xff0c;在系统交互双方定义好接口之后&#xff0c;我们可以提前进行开发和测试&#xff0c;并不依赖上游系统的开发实现。 通过使用Mock模拟数据接口&#xff0c;我们即可在只开发了UI的情况下&#xff0c;无须服务端的开发就可以进行…...

智慧教室--智能管控系统

智慧教室系统是一款基于AIOT数字化平台的智能教育解决方案&#xff0c;该系统实现了全面数字化、自动化管理和智能化控制&#xff0c;可大大提高教学效率和质量&#xff0c;为学生带来更加优质的教育体验。智能管控是智慧教室系统的核心功能之一。通过物联网技术&#xff0c;将…...

React的useLayoutEffect和useEffect执行时机有什么不同

我们先看下 React 官方文档对这两个 hook 的介绍&#xff0c;建立个整体认识 useEffect(create, deps): 该 Hook 接收一个包含命令式、且可能有副作用代码的函数。在函数组件主体内&#xff08;这里指在 React 渲染阶段&#xff09;改变 DOM、添加订阅、设置定时器、记录日志以…...

C语言中#include<...>和#include“...“的区别

C语言文章更新目录 C语言学习资源汇总&#xff0c;史上最全面总结&#xff0c;没有之一 C/C学习资源&#xff08;百度云盘链接&#xff09; 计算机二级资料&#xff08;过级专用&#xff09; C语言学习路线&#xff08;从入门到实战&#xff09; 编写C语言程序的7个步骤和编程…...

ubuntu本地访问nas

需求 本地磁盘空间太小&#xff0c;本地网络里有个nas&#xff0c;希望将nas作为数据盘挂载到本地使用。 方法1 基于sftp访问nas 首先nas设置时要打开sftp访问功能。 然后用ubuntu桌面访问服务器的功能登录sftp&#xff0c;类似如下指令 sftp://user192.168.0.100 ubuntu下…...

第一章:网络参考模型

一、专业术语 ISO---&#xff08;International Organization for Standardization&#xff09;国际标准化组织 OSI---&#xff08;Open System Interconnection Reference Model&#xff09;开放式系统互联通信参考模型 IEEE---(Institute of Electrical and Electronics Engi…...

extends in typescript

困惑 初学 ts 时&#xff0c;extends 让我很困惑&#xff1a;有时它代表 扩大 &#xff0c;有时代表 缩小 。举几个例子说明&#xff1a; 例1&#xff1a; class Animal {} class Dog extends Animal {}这是 js 本身就有的 class 继承语法&#xff0c;很熟悉了。 Dog 是 An…...

如何找回回收站删除的文件

回收站作为删除文件后的临时存放点&#xff0c;只要我们是右键删除或者按delete删除的文件都会存放到这里&#xff0c;所以我们每次清理电脑后&#xff0c;都会清空回收站&#xff0c;这样可以让电脑保持流畅运行。但删除这个操作是很容易出错&#xff0c;很容易把某些重要的文…...

Git系列——Git部署及应用

下面从如下几个方面介绍下其部署及应用&#xff1a;Git服务器搭建Git客户端搭建Git常用命令Git服务器搭建Linux服务器搭建(Centos7.5):一、安装配置SSH&#xff08;参考XXX)二、检查OS是否自带Git1、git-version //查询版本2、rpm -qa git //查询git详细信息3、yum -y remove x…...

Java多线程(二)--线程相关内容

1.创建线程的几种方式继承 Thread 类&#xff1b;public class MyThread extends Thread { Override public void run() {System.out.println(Thread.currentThread().getName() " run()方法正在执行..."); }实现 Runnable 接口&#xff1b;public class MyRunnable…...

CF1692E Binary Deque 题解

CF1692E Binary Deque 题解题目链接字面描述题面翻译题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码实现题目 链接 https://www.luogu.com.cn/problem/CF1692E 字面描述 题面翻译 有多组数据。 每组数据给出 nnn 个数&#xff0c;每个数为 000 或 1…...

rust方法和关联函数

Rust方法 在大多数面向对象的语言中都存在方法&#xff0c;方法一般和类关联在一起。在Rust中也是类似的&#xff0c;方法和对象总是一起出现。Rust的方法和结构体&#xff0c;枚举&#xff0c;特征一起使用。 定义方法 Rust使用关键字impl来定义方法&#xff0c;例如&#…...

深度学习如何训练出好的模型

深度学习在近年来得到了广泛的应用&#xff0c;从图像识别、语音识别到自然语言处理等领域都有了卓越的表现。但是&#xff0c;要训练出一个高效准确的深度学习模型并不容易。不仅需要有高质量的数据、合适的模型和足够的计算资源&#xff0c;还需要根据任务和数据的特点进行合…...

智慧教室系统--重点设备监控系统

随着教育信息化的不断发展&#xff0c;智慧教室已成为现代教育的重要组成部分。而智慧教室的设备管理和维护也变得越来越重要。一旦智慧教室的重要设备出现故障或异常&#xff0c;将会对教学活动产生不利影响&#xff0c;因此建立智慧教室重点设备监控系统是必要的。一、智慧教…...

国外SEO优化公司如何提高网站在搜索引擎的排名_国外SEO优化公司的服务语言支持有哪些

国外SEO优化公司如何提高网站在搜索引擎的排名_国外SEO优化公司的服务语言支持有哪些 在当今全球化的互联网时代&#xff0c;国外SEO优化公司在提升网站在搜索引擎中的排名方面扮演着至关重要的角色。不仅仅是提升网站的曝光率&#xff0c;还能有效地增加网站的访问量和用户转…...

一键迁移方案:OpenClaw配置备份与Qwen3-4B模型快速恢复

一键迁移方案&#xff1a;OpenClaw配置备份与Qwen3-4B模型快速恢复 1. 为什么需要配置迁移方案 上周我的开发机突然硬盘故障&#xff0c;导致所有OpenClaw配置丢失。重新配置飞书通道、模型连接和技能库花了大半天时间。这次教训让我意识到&#xff1a;自动化工具的配置本身也…...

OpenClaw调试技巧:Gemma-3-12b-it任务失败的根本原因分析

OpenClaw调试技巧&#xff1a;Gemma-3-12b-it任务失败的根本原因分析 1. 问题背景与现象描述 上周我在本地部署了Gemma-3-12b-it模型&#xff0c;准备用OpenClaw实现自动化周报生成。结果连续三次任务都在"分析本周工作内容"环节卡住&#xff0c;控制台只显示Task …...

电子电路设计中7种关键接口技术解析与应用

1. 电路接口概述&#xff1a;信号传输的关键桥梁在嵌入式系统和电子电路设计中&#xff0c;接口技术就像城市之间的高速公路系统。当CPU需要与传感器"对话"&#xff0c;当存储器要与处理器"交换情报"&#xff0c;这些不同模块之间的信号传输总会面临三大挑…...

ARM架构解析:从基础原理到嵌入式开发实践

1. ARM处理器架构概述作为一名嵌入式开发者&#xff0c;我经常需要和ARM处理器打交道。第一次接触ARM是在大学时期的一个智能小车项目上&#xff0c;当时使用的是STM32F103系列芯片&#xff0c;基于ARM Cortex-M3内核。从那时起&#xff0c;我就被ARM架构的精巧设计所吸引。经过…...

他没有打断我,没有说“小孩子懂什么” ,30岁这年,我不仅拿到了父亲的认可,更拿到了他毫无保留的信任

30岁这年,我和我爸 今天和我爸坐在阳台的小茶桌前,泡了他藏了快十年的普洱,烟缸里攒了四根烟蒂,聊了整整两个小时。 散场的时候我站在窗边看他下楼开车,突然反应过来——我们今天这场对话,从头到尾没有一句“你要听话”,没有一句“钱够不够花”,没有长辈居高临下的说…...

数据治理与数据质量:从策略到实践

数据治理与数据质量&#xff1a;从策略到实践 前言 作为一个在数据深渊里捞了十几年 Bug 的女码农&#xff0c;我深知数据治理和数据质量在企业数据管理中的重要性。随着数据量的爆炸式增长和数据类型的多样化&#xff0c;数据治理和数据质量已经成为企业数据管理的核心挑战。今…...

云原生数据库的设计与实践:从架构到部署

云原生数据库的设计与实践&#xff1a;从架构到部署 前言 作为一个在数据深渊里捞了十几年 Bug 的女码农&#xff0c;我深知云原生技术对数据库的影响。随着云计算的快速发展&#xff0c;云原生数据库已经成为数据库技术的重要发展方向。今天&#xff0c;我就来聊聊云原生数据库…...

AI率从90%降到合格线,我踩了3个坑后找到的方法

我的论文AI率在知网检出了91%。 最后我把AI率降到了9%&#xff0c;但在这之前踩了3个坑&#xff0c;多花了将近两天时间。这篇文章不是炫成绩&#xff0c;是把这3个坑说清楚&#xff0c;让后来的人少走一段弯路。 坑一&#xff1a;花了一天手动改写&#xff0c;基本没用 拿到…...

初试FreeRTOS:创建上位机接收数据驱动4个舵机任务,如裸机般无感

解析函数上位机数据协议&#xff1a;协议格式 (LD150舵机)[0x55][0x55][ID][长度][命令][数据...][校验和]2字节 1字节 1字节 1字节 N字节 1字节帧头: 0x55 0x55 ID: 舵机ID (1-4) 或 0xFE (广播) 数据: 每组5字节 ID time_low time_high pos_low pos_high 位置: …...