CSS3(一)动画原理

2024-09-01 19:48
文章标签 原理 frontend 动画 css3

本文主要是介绍CSS3(一)动画原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CSS3 Animation


之前一直在用cocos等编辑器做动画,最近想学习一下使用CSS3实现一些基本的动画。所以,将这两种动画开发模式,进行对比学习或许会有更深的理解与体会。


什么是动画

在学习CSS3动画之前,我们必须先介绍一个什么是动画,动画都具有哪些特性。
动画是将静止的画面变为动态的艺术.实现由静止到动态,主要是靠人眼的视觉残留效应。

什么是关键帧(keyframes)

想一想如果制作动画,如果没有关键帧这种技术会是多么恐怖,如果动画帧率为25,即每秒要播放25张画面,假设现在要制作1秒的动画,那么就需要手动制作25张画面,关键帧的出现使得我们只需要画2张画面,中间的23张画面自动计算完成,极大的提升开发效率。

拓展延伸:逐帧动画和关键帧动画

简单的例子

我们先来看一组简单的动画。
点击播放动画
片段1
这里写图片描述
片段2
这里写图片描述
片段3
这里写图片描述
片段4
这里写图片描述

我们可以从上图看到,该动画主要分为四个片段:

  • 0s: 起始阶段的状态
 width: 10px;height: 100px;margin: 0 auto;text-align: center;color: rgba(0, 0, 0, 0);background-color: #f35626;background-clip: text;
  • 0s-2s: 高度变为300px,背景色改变。
 height: 300px;background-color: wheat;
  • 2s-4s:宽度变为600px
 width: 600px;
  • 4s-8s:文字透明度由0变为1。
 color: rgb(66, 66, 66);

总结


结合文章开头讲的关键帧技术,我们可以将我们的动画的四个片段作为四个关键帧,其余的过程就交给计算机进行自动绘制。那么制作一个动画的步骤简单分为下面几个步骤:
1. 创建关键帧
首先我们要设计好播放动画的基本属性,一般常用的属性有:位移属性(position),旋转属性(rotation),缩放属性(scale),当然还有其他的属性:透明度(opacity),音效(audio)等。
2.设置要播放动画的参数
关键帧我们制作完成之后,但是我们的动画时长播放多久,哪一秒播放对应的关键帧,这些都是我们要考虑的问题。
即我们想要在延迟2s后再将我们的宽度边长,延迟4s后再显示文字。

下一章我们继续讨论CSS3中的 Transition & Animation中的一些用法和特性。

这里写图片描述

这篇关于CSS3(一)动画原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127887

相关文章

Python中的filter() 函数的工作原理及应用技巧

《Python中的filter()函数的工作原理及应用技巧》Python的filter()函数用于筛选序列元素,返回迭代器,适合函数式编程,相比列表推导式,内存更优,尤其适用于大数据集,结合lamb... 目录前言一、基本概念基本语法二、使用方式1. 使用 lambda 函数2. 使用普通函数3. 使用 N

MyBatis-Plus 与 Spring Boot 集成原理实战示例

《MyBatis-Plus与SpringBoot集成原理实战示例》MyBatis-Plus通过自动配置与核心组件集成SpringBoot实现零配置,提供分页、逻辑删除等插件化功能,增强MyBa... 目录 一、MyBATis-Plus 简介 二、集成方式(Spring Boot)1. 引入依赖 三、核心机制

redis和redission分布式锁原理及区别说明

《redis和redission分布式锁原理及区别说明》文章对比了synchronized、乐观锁、Redis分布式锁及Redission锁的原理与区别,指出在集群环境下synchronized失效,... 目录Redis和redission分布式锁原理及区别1、有的同伴想到了synchronized关键字

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

setsid 命令工作原理和使用案例介绍

《setsid命令工作原理和使用案例介绍》setsid命令在Linux中创建独立会话,使进程脱离终端运行,适用于守护进程和后台任务,通过重定向输出和确保权限,可有效管理长时间运行的进程,本文给大家介... 目录setsid 命令介绍和使用案例基本介绍基本语法主要特点命令参数使用案例1. 在后台运行命令2.

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

Spring Security 单点登录与自动登录机制的实现原理

《SpringSecurity单点登录与自动登录机制的实现原理》本文探讨SpringSecurity实现单点登录(SSO)与自动登录机制,涵盖JWT跨系统认证、RememberMe持久化Token... 目录一、核心概念解析1.1 单点登录(SSO)1.2 自动登录(Remember Me)二、代码分析三、

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

从入门到精通详解LangChain加载HTML内容的全攻略

《从入门到精通详解LangChain加载HTML内容的全攻略》这篇文章主要为大家详细介绍了如何用LangChain优雅地处理HTML内容,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录引言:当大语言模型遇见html一、HTML加载器为什么需要专门的HTML加载器核心加载器对比表二

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语