theme: cyanosis
highlight: a11y-light

移动

移动Web第二天—空间转换

空间转换

目标:使用transform属性实现元素在空间内的位移,旋转,缩放效果

  • 空间:是从坐标轴定义的。x,y,z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同。
  • 空间转换也叫3D转换
  • 属性:transform

空间位移

目标:使用transform实现元素空间位移效果

  • 语法

    • transform:translate3d(x,y,z);
    • transform:translateX(值px 或者百分比); 向X轴位移 X要大写 取值正负都可
    • transform:translateY(值px 或者百分比);
    • transform:translateZ(值px 或者百分比);

    透视

    目标:使用perspective属性实现透视效果

    • l思考:生活中,同一个物体,观察距离不同,视觉上有什么区别?

      答:近大远小、近清楚远模糊

    • 思考:默认情况下,为什么无法观察到Z轴位移效果?

      答:Z轴是视线方向,移动效果应该是距离的远或近, 电脑屏幕是平面,默认无法观察远近效果

      例如:就像一个盒子,从正面观察它是看不到的长度的 跟小学的从正面侧面观察正方体一样

    **


使用perspective:值 800-1200px

给其父级添加

,…perspective只增加近大远小、近实远虚的视觉效果。

空间旋转

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

语法

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

左手法则

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

拓展

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

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

立体呈现

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

实现方法:

  • 添加transform-style:preserve-3d

  • 使子元素处于真正的3d空间

  • 呈现立体图形步骤

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

使用transform-style属性实现立方体案例

思路:

  1. 定一个父盒子box包装着6个小平面

  2. 使用定位把六个面叠在一起,并给每个面设置不同的颜色

  3. 使用空间变换来实现立方体,就是吧每个没移到对应的位置

    • 前: z轴 正 移动 +100
    • 后: z轴 负 移动 -100
    • 左: x轴 负 移动 -100 y轴 旋转 90deg
    • 右: x轴 正 移动 100 y轴 旋转 90deg
    • 上: y轴 负 移动 -100 x轴 旋转 90deg
    • 下: y轴 正 移动 100 x轴 旋转 90deg
  4. 给box开启立体效果,并旋转box查看效果

    使用transform-style属性实现立方体案例

    代码如下:

    <title>立方体案例</title><style>.box{width: 300px;height: 300px;background-color:pink;margin: 100px auto;position: relative;        }div{position: absolute;left: 0;top: 0;width: 100%;height: 100%;/* 开启3d效果 */transform-style:preserve-3d ;transform:rotate3d(1,1,1,30deg);}.top{background-color:red;transform: translateY(-150px) rotateX(90deg);}.bottom{background-color:green;transform: translateY(150px) rotateX(90deg);}.left{background-color:blue;transform:translateX(-150px) rotateY(90deg)  ;}.right{background-color:yellow;transform: translateX(150px) rotateY(90deg);}.qian{background-color:tomato;/* 前后是z轴运动 */transform: translateZ(150px);}.hou{background-color:springgreen;transform: translateZ(-150px);}</style>
    </head>
    <body><!-- 先来个大盒子 --><div class="box"><div class="top">上</div><div class="bottom">下</div><div class="left">左</div><div class="right">右</div><div class="qian">前</div><div class="hou">后</div></div>
    </body>
    

    效果如下:

移动Web 第二天# 空间位移和立体图形的基本知识相关推荐

  1. 移动Web【空间转换[空间位移、透视、空间旋转、立体呈现、3D导航、空间缩放]、动画、综合案例】

    文章目录 一.空间转换 1.1 空间位移 1.2 透视 1.3 空间旋转 1.4 立体呈现 1.5 3D导航 1.6 空间缩放 二.动画 2.1 动画的实现步骤 2.2 动画属性 三.综合案例 2.1 ...

  2. web移动中空间转换与动画

    一,空间转换 1空间转换 使用transform属性实现元素在空间内的位移.旋转.缩放等效果 x .y 和z三条坐标轴构成了一个立体空间,z轴位置与视线方向相同. 2空间位移 语法transform: ...

  3. 2.1 空间向量与立体解析几何

    第二章 线性代数 全文均为手敲,如果发现有误,请于评论区交流讨论留言,作者会及时修改 2.1 空间向量与立体解析几何 三维向量的点积与叉积 设 a = ( a 1 , a 2 , a 3 ) , b ...

  4. STL源码剖析(第二章 空间配置器)

    1.1 空间配置器 以STL的实现角度而言,第一个需要介绍的就是空间配置器,因为整个STL的操作对象(所有的数值)都存放在容器之内,而容器一定需要配置空间以置放资料.并且allocator称之为&qu ...

  5. HTML+CSS:transform空间转换、translate3d空间位移、perspective透视、rotate3d空间旋转\立方体、scale3d空间缩放

    文章目录 transform: translate3d(x, y, z) 使用perspective属性实现透视效果 transform: rotateXYZ实现元素空间旋转效果 transform- ...

  6. 立体图形3D动画和绘制

    做了一个关于立体图形3D动画和绘制图形的例子,效果如下: 这个是参照苹果官方文档和例子来写的,其中茶壶是根据点.颜色渲染.网格结构和灯光效果来绘制出来的. 再说实现步骤前我们需要了解一下概念: GLK ...

  7. Android开发 之 OpenGL ES系列(5--3D立体图形)

    OpenGL ES系列(5--3D立体图形) 转自:http://www.guidebee.info/wordpress/archives/1554 前面的例子尽管使用了OpenGL ES 3D图形库 ...

  8. 关于立体图形切n刀最多切多少块的结论及推导

    思路主要参照了知乎这个话题下德安城和安堇然的回答.自己再写一遍主要是为了加深理解. 首先直接给出结论: 在d维空间内,对于被切中的d维立体,每一刀将造成d-1维的划痕,将该d维立体分成两部分,则切n刀 ...

  9. 【愚公系列】2022年09月 微信小程序-WebGL立体图形的绘制

    文章目录 前言 一.webgl的使用 1.立体图形的绘制 二.相关包源码 三.总结 前言 WebGL(全写Web Graphics Library)是一种3D绘图协议,这种绘图技术标准允许把JavaS ...

最新文章

  1. 节能信标组比赛过程中直流电源设置
  2. apk 反编译_APK反编译与回编译修改包名实现分身
  3. 用户访问共享计算机没有权限,win7共享没有权限访问 共享文件访问权限的方法...
  4. linux-arm下如何开启tftp传输,arm linux 下移植busybox 的tftp
  5. oracle归档日志的概念,浅谈Oracle归档日志
  6. Intel Core Enhanced Core架构/微架构/流水线 (7) - 栈指针跟踪器/微熔合
  7. catia如何整列加工_非标零件如何用机器检测?能像人类一样查出问题吗?
  8. python螺旋圆的绘制_亦明图记:SolidWorks绘制扭转弹簧,使用组合曲线作为扫描路径...
  9. Collectors.summingDouble()
  10. 计算机视觉教程0-4:手推张正友标定法,详解图像去畸变(附代码)
  11. iOS 5 故事板进阶(3)
  12. 【Python】cannot import name ‘ParserError‘ from ‘dateutil.parser‘
  13. scrapy 下载及处理文件和图片
  14. Sql链接数据库基本语法
  15. 电脑上有哪些好用的视频剪辑软件
  16. 查看显卡单精度 linux,部分显卡及CPU单、双精度算力实则(3月9日更新数据)
  17. 【深度科普】辐射的真相
  18. Compuware Softice的烦恼
  19. 国产数据库40年演变,这3个坎一直跨不过去
  20. cocos2dx 3.10版本的AssetsManager问题

热门文章

  1. Sending Mails - ABAP
  2. 核酸提取干货 - MedChemExpress
  3. 关于oracle的几个概念(一)
  4. 每日分享之《十面埋伏》
  5. QQ小程序开发与发布小教程
  6. atcoder abc248
  7. 活动 | 2017中国AI英雄风云榜颁奖典礼将于12月18日在北京举行
  8. 仓库库存管理系统源码B/S架构带文档
  9. Mac运行缓慢吗?提升苹果电脑速度的几个小技巧
  10. linux jre环境变量配置