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动画 -> 正文阅读

[游戏开发]前端学习之css动画

在css3中我们可以用动画属性来制作一些简单的特效,包括2d和3d。
不论是2d还是3d的特效我们都可以用transfrom属性来实现。

2d和3d都包含旋转和位移和缩放这三种基本属性。

2d的用法

位移translate
transform:translate(X,Y) x表示在水平方向位移的距离,y表示在垂直方向位移的距离。**注意:X轴水平向右为正,向左为负,Y轴垂直向下为正,向上为负;**若取值为百分比,按盒子自身尺寸计算。
旋转rotate
transform:rotate(angle(deg)),注意:rotate旋转是从某一个角度旋转到另一个角度; 正数为顺时针,负数相反。
缩放scale
语法:transform: scale(x,y);x表示水平缩放(宽度)y表示垂直缩放(高度)
注意:如果取值为1个值表示宽和高同时等比设置,如果取值为两个值,第一个值表示为宽,第二个值为高;
zoom缩放
取值为实际浮点数,如果取值为1表示原始大小不缩放,如果取值大于1表示放大的倍数,如果取值小于1表示缩小的倍数;01、如果给父级和设置了对应的zoom属性,该父级盒子里面的子元素会全部等比缩放;02、该属性火狐浏览器和Opera浏览器的某些版本不支持;
中心点(原点)设置 — transform-origin
默认原点为中心点,transform-origin(x,y)x,y取值可为百分比,方位名词,像素。
复合写法
语法: transform: 位移 旋转 缩放;
注意:translate位移必须要写在最前面,如果旋转在最前面会导致坐标轴的位置偏移,导致问题;

3d属性

透视(视距) perspective
z轴的方向垂直于屏幕向外
01、perspective属性要加给被观察元素的父级盒子;
02、perspective的取值建议是800px-1200px之间;
03、perspective的取值必须要加单位px;
04、当perspective的取值固定的时候,Z轴的值接近perspective的取值就会铺满整个屏幕,Z轴的值等于或者大于perspective的取值就会将元素溢出屏幕以外;
3D呈现transform-style

使效果更具立体性质
transform-style:preserve-3d; 开启3d立体空间
transform-style:flat; 默认值
该属性是加给父级盒子的,只有加给父级盒子才能让子级盒子展示3D立体空间
3d位移
复合书写 translate3d(x,y,z)
如果有就书写对应的值,没有的话就用0来代替
3d旋转
用来设置自定义旋转的位置及旋转的角度,x,y,z的取值是0-1之间的数字,0表示没有,1表示有;
遵循左手法则:大拇指指向轴的正方向,手指弯曲的方向是3D旋转的方向
3d缩放
scale(x,y,z)

三种动画:关键帧、自定义、过渡

过渡动画:语法:transition: 属性 动画时间 动画形式 延时;
关键帧动画
通过设置多个节点(关键帧)来精确控制一个或者一组动画,常用来实现复杂的动画效果;
第一步:定义关键帧动画 @keyframes
第二步:调用动画
复合写法 animation: name duration timing-function delay iteration-count direction fill-mode;
使用动画库来制作动画
第一步:将动画库的css文件animate.min.css或animate.css拷贝到自己的项目中并且link引入

第二步:哪一个盒子需要加载动画,就直接用class调用 animated类名,表示调用了动画库,然后去动画库的demo 中查找想要的动画形式的类名,多类名调用; 第三步:实现页面滚动到某一个位置再去加载动画,需要配合一个wow.js插件 第四步:实现延时动画,自己定义对应延时样式,然后哪一个盒子需要延时就直接调用自己写的类名

明天我们给大家讲讲百分比布局和flex弹性布局。

  游戏开发 最新文章
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-01-04 13:45:22  更:2022-01-04 13:45:59 
 
开发: 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年11日历 -2024/11/27 18:28:37-

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