码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 移动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份

  • 相关阅读:
    Android开发:Fragment中优雅使用ViewBinding【Java】
    PlantUML绘制类图
    深入理解Linux网络笔记(三):内核和用户进程协作之epoll
    [附源码]Python计算机毕业设计Django网上电影购票系统
    IO流练习 二
    主定理(master定理)
    图书管理系统 数据结构先导课暨C语言大作业复习 | JorbanS
    会议OA之我的审批(查询&签字)
    单细胞分析:细胞聚类(十)
    Java项目:SSM建材商城网站
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/126673501
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号