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

移动Web第二天 4 空间转换 5 动画

移动Web

文章目录

    • 移动Web
      • 老师:黑马程序员
    • 二、移动Web第二天
      • 4 空间转换
        • 4.1 空间位移
        • 4.2 透视
        • 4.3 空间旋转
          • 4.3.1 拓展
        • 4.4 立体呈现
        • 4.5 3D导航
        • 4.6 空间缩放
      • 5 动画
        • 5.1 使用animation添加动画效果
        • 5.2 动画属性
        • 5.3 使用steps实现逐帧动画

老师:黑马程序员

二、移动Web第二天

4 空间转换

空间︰是从坐标轴角度定义的。x、y和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同。

空间转换也叫3D转换

属性: transform

4.1 空间位移

语法

  • transform: translate3d(x, y, z);
  • transform: translateX(值);
  • transform: translateY(值);
  • transform: translateZ(值);

取值(正负均可)

  • 像素单位数值
  • 百分比

4.2 透视

使用perspective属性实现透视效果

属性(添加给父级)

  • perspective:值;
  • 取值∶像素单位数值,数值一般在800-1200。

作用

  • 空间转换时,为元素添加近大远小、近实远虚的视觉效果

透视距离也称为视距,所谓的视距就是人的眼睛到屏幕的距离。

4.3 空间旋转

使用rotate实现元素空间旋转效果

语法

  • transform: rotateZ(值);
  • transform: rotateX(值);
  • transform: rotateY(值);

左手法则

判断旋转方向:

左手握住旋转轴,拇指指向正值方向,手指弯曲方向为旋转正值方向

在这里插入图片描述

4.3.1 拓展

rotate3d(x, y,z,角度度数)︰用来设置自定义旋转轴的位置及旋转的角度

x , y,z取值为0-1之间的数字

4.4 立体呈现

使用transform-style: preserve-3d呈现立体图形

实现方法

  • 添加transform-style: preserve-3d;
  • 使子元素处于真正的3d空间

呈现立体图形步骤

  1. 盒子父元素添加transform-style: preserve-3d ;
  2. 按需求设置子盒子的位置(位移或旋转)

注意:空间内,转换元素都有自已独立的坐标轴,互不干扰

4.5 3D导航

使用立体呈现技巧实现3D导航效果

实现思路

  1. 搭建立方体∶绿色盒子是立方体的前面,橙色盒子是立方体的上面
  2. 添加hover状态旋转切换效果

4.6 空间缩放

使用scale实现空间缩放效果

语法

  • transform: scaleX(倍数);
  • transform: scaleY(倍数);
  • transform: scaleZ(倍数);
  • transform: scale3d(x, y, z);

5 动画

5.1 使用animation添加动画效果

动画效果︰实现多个状态间的变化过程,动画过程可控(重复播放、最终画面、是否暂停)

动画的本质是快速切换大量图片时在人脑中形成的具有连续性的画面

构成动画的最小单元∶帧或动画帧

实现步骤:

  1. 定义动画

    在这里插入图片描述

  2. 使用动画

    在这里插入图片描述

    注意:

    动画名称和动画时长必须赋值

    取值不分先后顺序
    如果有2个时间值,第一个时间表示动画时长,第二个时间表示延迟时间

5.2 动画属性

在这里插入图片描述

5.3 使用steps实现逐帧动画

在这里插入图片描述

逐帧动画∶帧动画。

开发中,一般配合精灵图实现动画效果。

animation-timing-function: steps(N);

将动画过程等分成N份

相关文章:

  • LeetCode646-最长数队链
  • 力扣:23,-合并K个升序链表
  • 移动Web第三天 1 移动端特点 2 百分比布局 3 Flex布局
  • vue中用ref实现父子组件、孙组件、兄弟组件、非亲子孙组件互相调用的方法
  • 【信号去噪】基于鲸鱼算法优化VMD实现信号去噪附matlab代码
  • git开发分支管理
  • 啊哈,一道有趣的Go并发题
  • [编程题]数据库连接池 - 牛客网题解
  • 线性回归模型(OLS)3
  • 如何利用腾讯云轻量应用服务器五分钟搭建一个WordPress博客?
  • 从外到内理解c++引用
  • [极客大挑战 2019]BabySQL
  • vue3+vite+windicss+element-plus+axios+router+cookies 搭建
  • ElasticSearch docker 方式安装
  • Spring——IOC 操作 Bean 管理(FactoryBean,作用域以及bean生命周期)
  • JSONP原理
  • Sass 快速入门教程
  • 安装python包到指定虚拟环境
  • 排序(1):冒泡排序
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 小而合理的前端理论:rscss和rsjs
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #传输# #传输数据判断#
  • $emit传递多个参数_PPC和MIPS指令集下二进制代码中函数参数个数的识别方法
  • (2.2w字)前端单元测试之Jest详解篇
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • .gitignore文件_Git:.gitignore
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .net refrector
  • .NET 中 GetProcess 相关方法的性能
  • .NET/C# 使用反射注册事件
  • .net打印*三角形
  • .NET建议使用的大小写命名原则
  • .NET使用存储过程实现对数据库的增删改查
  • @reference注解_Dubbo配置参考手册之dubbo:reference
  • @RequestMapping-占位符映射
  • [delphi]保证程序只运行一个实例
  • [Docker]五.Docker中Dockerfile详解
  • [Gamma]阶段测试报告
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】
  • [jobdu]不用加减乘除做加法
  • [linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)
  • [LuoguP1141]01迷宫
  • [MySQL] 二进制文件
  • [Python从零到壹] 六十三.图像识别及经典案例篇之图像漫水填充分割应用
  • [Remoting FAQ]Loading a Remoting Host On IIS得到BadImageFormatException
  • [SAP] 解决程序提示被某用户使用或锁定的问题
  • [SDOI 2009]HH去散步
  • [Vue] 自定义命令
  • [广义Floyd] UVA10048 噪音恐惧症 Audiophobia
  • [计算机术语]缺省