css animation 动画详细学习

ops/2024/9/24 7:17:47/

学习 CSS 动画是一个深入且富有创造性的过程,它允许开发者创建出引人入胜且交互性强的网页效果。以下是对 CSS 动画学习的一些总结和要点:

1. 关键帧动画(@keyframes)

  • 使用 @keyframes 规则定义动画的整个过程。
  • @keyframes 中,可以通过百分比来定义动画的各个阶段。
  • 每个百分比阶段可以包含一套 CSS 样式,描述了元素在该阶段的外观和位置。
    例如:
css">	/* 定义关键帧 */  @keyframes moveRight {  0% {  transform: translateX(0);  }  100% {  transform: translateX(200px);  }  }

2. 应用动画到元素(animation 属性)

  • animation 属性是一个简写属性,用于设置动画的多个参数。
  • 这些参数包括动画名称(也就是上边通过 @keyframes 定义的名字)、 持续时间、延迟时间、动画速度曲线、播放次数、是否反向播放等。
    例如:
css">	/* 应用动画到元素 */  .animated-element{animation: moveRight 5s infinite; /* 2秒持续时间,无限次循环 */  }

3.单独定义动画名(animation-name)

animation-name:指定@keyframe动画的名称。

取值:keyframename|none|initial|inherit

css">/* 应用动画到元素 */  
.animated-element{animation-name: moveRight;
}

3. 动画速度曲线(timing function)

  • 可以使用预定义的速度曲线(如 easelinearease-inease-outease-in-out)或自定义的贝塞尔曲线来定义动画的速度变化。
    案例 demo

4. 动画的播放状态

  • 使用 animation-play-state 属性可以控制动画的播放或暂停状态。
    语法:
css">animation-play-state: paused|running|initial|inherit;

案例demo

5. 动画的迭代计数和方向

  • animation-iteration-count 属性控制动画的播放次数。
  • animation-direction 属性控制动画是否反向播放。
    语法:
css">animation-iteration-count: number|infinite|initial|inherit;
animation-direction: alternate;

6. 动画的延迟和持续时间

  • animation-delay 属性定义动画开始前等待的时间。
  • animation-duration 属性定义动画完成一个周期所需的时间。

7. 动画的填充模式

  • animation-fill-mode 属性定义动画在播放前和播放后的样式。

8. 动画的简写和拆分属性

  • animation 属性是一个简写属性,可以一次性设置所有动画相关的参数。
  • 同时,也可以单独使用 animation-nameanimation-duration 等拆分属性来设置动画的各个方面。

9. 浏览器兼容性

  • 需要注意不同浏览器对 CSS 动画的支持情况,有时需要添加浏览器前缀(如 -webkit--moz- 等)。

在这里插入图片描述


http://www.ppmy.cn/ops/4626.html

相关文章

【云计算】云数据中心网络(三):NAT 网关

《云网络》系列,共包含以下文章: 云网络是未来的网络基础设施云网络产品体系概述云数据中心网络(一):VPC云数据中心网络(二):弹性公网 IP云数据中心网络(三)…

网络_TCP/IP_第六章_IP地址概述与应用_实验案例二

实验案例二:配置路由器实现互通 1、实验环境 实验用具包括两台路由器{或交换机).一根双绞线缆,一台PC,一条Console线缆. 2、需求描述 如图6.14所示,将两台路由器的Gig0/0接口相连.通过一台PC连接设备的Co…

Elasticsearch(1)

目录 115.elasticsearch是什么?基于Lucene的,那么为什么不直接使用Lucene呢? 116.ELK技术栈的常见应用场景? 117.ES索引模板是什么? 118.ES中索引的生命周期管理?

9个技巧使你的Python代码更Pythonic!

如何区分漂亮和丑陋的代码? 更重要的是,如何写出漂亮的 Python 代码? 本文将通过初学者容易理解的例子展示9个神话般的Python技巧,以帮助你在日常工作中编写更多的Pythonic程序。 01 product() 使用 product() 函数避免嵌套的…

畅游网络:构建C++网络爬虫的指南

概述 随着信息时代的来临,网络爬虫技术成为数据采集和网络分析的重要工具。本文旨在探讨如何运用C语言及其强大的cpprestsdk库构建一个高效的网络爬虫,以便捕捉知乎等热点信息。为了应对IP限制的挑战,我们将引入亿牛云爬虫代理服务&#xff…

剑指offer03:数组中重复的数组---leetcode:LCR 120. 寻找文件副本

设备中存有 n 个文件,文件 id 记于数组 documents。若文件 id 相同,则定义为该文件存在副本。请返回任一存在副本的文件 id。 示例 1: 输入:documents [2, 5, 3, 0, 5, 0] 输出:0 或 5提示: 0 ≤ docume…

【Camera Sensor Driver笔记】二、点亮指南之Sensor Module XML

Camera Sensor module XML详解: cameraId 与 slot id 一一对应 (即:dtsi中相对应的sensor的 cell-index ) moduleName 模组厂名称 sensorName sensor 名称 actuatorName 马达名称 oisName …

vue实现文字转语音的组件,class类封装,实现项目介绍文字播放,不需安装任何包和插件(2024-04-17)

1、项目界面截图 2、封装class类方法(实例化调用) // 语音播报的函数 export default class SpeakVoice {constructor(vm, config) {let that thisthat._vm vmthat.config {text: 春江潮水连海平,海上明月共潮生。滟滟随波千万里&#xf…