IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> 针对CSS Animation的综合笔记 -> 正文阅读

[游戏开发]针对CSS Animation的综合笔记

CSS animation

主要针对 CSS animation 的常用涉及内容进行整理。
参考网站 ,通常会兼容其他浏览器。

一、语法搭配

1、格式内容

1、@keyframes duration | timing-function | delay |
   iteration-count | direction | fill-mode | play-state | name 
animation: 3s ease-in 1s 2 reverse both paused slidein;

2、@keyframes duration | timing-function | delay | name 
animation: 3s linear 1s slidein;

3、@keyframes duration | name 

2、对应参数可选值

参数名称描述
duration(几乎是必选)整个动画过程的时间长度。
timing-function描述整个动画过程的帧之间的动作。
delay延迟时间,默认为0s,如果为负数,则第一秒则到其绝对值的秒数立即开始。
iteration-count循环的次数,infinite 关键字为无限次。
direction动画播放的顺序及其效果预览。
fill-mode填充效果,动画执行前后的渲染时机
play-stateobject.style.animationPlayState=“paused” ,主要用于查询状态,
name也就是对应@keyframes的别名

timing-function

描述整个动画过程的帧之间的动作。

属性值属性描述
ease先缓慢开始,然后快速开始,然后缓慢结束。 cubic-bezier(0.25, 0.1, 0.25, 1.0)
ease-in先缓慢开始,后面稍微加速然后保持匀速到结束。cubic-bezier(0.42, 0, 1.0, 1.0)
ease-out先保持匀速,在尾段开始减速然后保持到结束。cubic-bezier(0, 0, 0.58, 1.0)
ease-in-out开始和结尾都是慢速,中间部分会稍微加速后匀速。cubic-bezier(0.42, 0, 0.58, 1.0)
linear全程保持匀速cubic-bezier(0.0, 0.0, 1.0, 1.0)
stepssteps(n, ),其中n为步骤数,参考timging about steps
cubic-beziercubic-bezier(p1, p2, p3, p4),cubic-bezier 曲线,其中p1,p3必须要0到1内的值。

direction

动画播放的顺序及其效果预览,整体上属于大于1次后见到效果。

属性值属性描述
nomal默认值,每个循环结束后从头开始。
alternate动画交替反向运行,整体受timing-function影响。
reverse与原动画反向运行。
alternate-reverse单纯依次反向运行。

fill-mode

执行之前和之后如何将样式应用于其目标

属性值属性描述
none未执行时将不会渲染内容
forwards动画将在应用于目标时立即应用第一个关键帧中定义的值,不包含delay,到最后一个关键帧截止才渲染最后一个关键帧的内容。
backwards动画将在应用于目标时立即应用第一个关键帧中定义的值,delay期间也是。
both在forwards和backwards之间额度范围内都进行渲染

play-state

document.getElementById(“myDIV”).style.animationPlayState = “paused”;

二、整体步骤

step1:定义一个dom元素,赋予一个可见内容和一个定位属性。
step2:定义一个@keyframes,用于描绘整个动画的起始位置和效果

0、完整内容

<div class="content">
   <div class="animal"></div>
</div>
/* 赋予dom一个动画,语法 @keyframes duration | name */
.animal {
   animation: 3s  rightSlash;
}


@keyframes rightSlash {
   /* 这部分为从左到右一个斜线"\"  */
   0% {
       margin-left: 0%;
   }

   100% {
       margin-left: 100%;
   }

   from {
       top: 10px;
   }

   to {
       top: 200px;
   }
}

/* 基础样式 */
.animal {
   background-color: #1766aa;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   position: relative;
}

1、 定义一个@keyframes (必然)

定义动画的开始到结束的 轨迹 的一个关键配置,所有animation后续引用的name也是指引到这个内容别名上整体上。

主要两种模式 :百分比(Percentage) 和 起终点(animation duration),取值都是0 ~ 100%,值得注意的是,建议在动画元素上增加 position 属性以保证动画轨迹能完全生效。

模式名称描述(除了百分比,还可以增加其他效果)
Percentage从0% 轨迹到100%(并不是一定要求要到100%,大于0%即可)
animation durationFrom 0% to 100%(并不是一定要求要到100%,大于0%即可)

同时其实可以无限叠加两种模式的组合,这样就会出现很多轨迹,谨记,动画是同时生效的,在一个keyframes中。

@keyframes rightSlash {
    /* 这部分为从左到右一个斜线"\"  */
    0% {
        margin-left: 0%;
    }

    100% {
        margin-left: 100%;
    }

    from {
        top: 10px;
    }

    to {
        top: 200px;
    }
}

2、赋予元素内容一个动画内容。

赋予dom一个动画,语法 @keyframes duration | name

.animal {
    animation: 3s  rightSlash;
}
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-09-30 01:19:47  更:2022-09-30 01:21:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/17 6:48:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码