3D变换 transform3D

浏览器中我们除了可以实现 x y两轴的2D变换 也可以开启3D效果 3D效果经常用于一些复杂的绚丽效果展示 可以用来构建基础的3D模型空间

3D变形涉及的属性主要是transform-origin、transform、transform-style、perspective、

perspective-origin、backface-visibility

坐标轴

在了解透视之前,首先要先了解坐标轴。3D变形与2D变形最大的不同就在于其参考的坐标轴不同。2D变形的坐标轴是平面的,只存在x轴和y轴,而3D变形的坐标轴则是x、y、z三条轴组成的立体空间,x轴正向、y轴正向、z轴正向分别朝向右、下和屏幕外

简单记住他们的坐标:

x左边是负的,右边是正的

y 上面是负的, 下面是正的

z 里面是负的, 外面是正的

透视(perspective)

电脑显示屏是一个2D平面,图像之所以具有立体感(3D效果),其实只是一种视觉呈现,通过透视可以实现此目的。

透视可以将一个2D平面,在转换的过程当中,呈现3D效果。

  • 透视原理: 近大远小 。

  • 浏览器透视:把近大远小的所有图像,透视在屏幕上。

  • perspective:视距,表示视点距离屏幕的长短。视点,用于模拟透视效果时人眼的位置

注:并非任何情况下需要透视效果,根据开发需要进行设置。

perspective 一般作为一个属性,设置给父元素,作用于所有3D转换的子元素

理解透视距离原理:

d: 3D坐标系 z轴的长度

z: 元素沿着Z轴移动的距离

translateX(x)

仅水平方向移动**(X轴移动)

主要目的实现移动效果

translateY(y)

仅垂直方向移动(Y轴移动)

translateZ(z)

transformZ的直观表现形式就是大小变化,实质是XY平面相对于视点的远近变化(说远近就一定会说到离什么参照物远或近,在这里参照物就是perspective属性)。比如设置了perspective为200px;那么transformZ的值越接近200,就是离的越近,看上去也就越大,超过200就看不到了,因为相当于跑到后脑勺去了,我相信你正常情况下,是看不到自己的后脑勺的。

translate3d(x,y,z)

[注意]其中,x和y可以是长度值,也可以是百分比,百分比是相对于其本身元素水平方向的宽度和垂直方向的高度和;z只能设置长度值

perspective

设置3D空间的景深 也就是z轴的深度, perspective 属性只影响 3D 转换元素。

perspective: 1000px;

perspective-origin

默认情况下, 坐标系的Z轴位于父元素的水平中线与垂直中线的交界处, 我们也可以通过设置perspective-origin来调整位置

使用绝对定位样式移动元素时, 此时坐标系的X轴和Y轴以设置了相对定位的祖先元素的中点为原点

使用transform的位移样式或是相对定位样式移动元素时, 此时坐标系的X轴和Y轴以元素的中点为原点

CSS 3D变换 transform3D相关推荐

  1. html元素做3d变换,CSS 3D变换

    1.3D transform中有下面这三个方法: rotateX( angle ) rotateY( angle ) rotateZ( angle ) 意思是分别绕着X/Y/Z轴进行旋转. 学过一部分 ...

  2. Windows UWP开发系列 – 3D变换

    在Win8.1中,引入了一个PlaneProjection可以实现3D变换,但它的变换方式比较简单,只能实现基本的旋转操作.在Windows 10 UWP中,引入了一个更加强大的3D变换Transfo ...

  3. 【CSS】770- 多层嵌套的CSS 3D动画技术详解

    CSS动画是当前一种非常火爆的技术,我说的并不是一些简单的颜色变换或长短属性变换,我说的是3D变换技术:纯CSS实现的翻滚旋转立方体就是最典型的例子.网上能找到很多关于CSS动画的代码,但对于一个程序 ...

  4. 多层嵌套的CSS 3D动画技术详解

    CSS动画是当前一种非常火爆的技术,我说的并不是一些简单的颜色变换或长短属性变换,我说的是3D变换技术:纯CSS实现的翻滚旋转立方体就是最典型的例子.网上能找到很多关于CSS动画的代码,但对于一个程序 ...

  5. 背水一战 Windows 10 (70) - 控件(控件基类): UIElement - Transform3D(3D变换), Projection(3D投影)...

    原文:背水一战 Windows 10 (70) - 控件(控件基类): UIElement - Transform3D(3D变换), Projection(3D投影) [源码下载] 背水一战 Wind ...

  6. html 3d转换动画,开源项目:CSS 3D转换和动画学习示例教程

    下面介绍的开源项目,是CSS在动画/3D变换方面的一些应用,非常酷的效果,全部由CSS3来实现. 在这里JavaScript仅作为动画控制来使用,JS并不控制UI界面的具体呈现,切换动画.3D效果仅需 ...

  7. CSS3中的3D变换与简易立方体的制作

    大家好,这里是demo软件园,今天为大家分享的是css3中的3d变换. 我们首先要知道在浏览器中,X轴是从左到右,Y轴是从上到下,Z轴是从里到外.CSS的3d变换中,有以下属性: A.3D旋转: CS ...

  8. CSS3之2D与3D变换

    文章出自个人博客https://knightyun.github.io/2019/01/27/css-transform,转载请申明 文章目录 关于坐标轴 2D变换 translate(x,y) ro ...

  9. CSS3 3D变换--扑克牌翻转

    学了css的3D变换后,想自己做一个扑克牌的翻转效果,那么怎么来实现呢,一起来试试吧! 思路: 首先写出牌面的文字和结构,在设置牌面的变换时,将变换的牌正面和背面放在一个父容器里,即需要四个父容器,这 ...

最新文章

  1. 九、distinct
  2. lex/flex 笔记
  3. WireConnection 最小生成树,prim 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛
  4. gradle中的增量构建
  5. ubuntu19.10改成aliyun源
  6. DIV的边距属性在Chrome和IE中的区别
  7. python汉诺塔递归算法_Python文摘:汉诺塔问题与递归算法
  8. Android--使用Canvas绘图
  9. Linux开放端口、关闭防火墙操作
  10. iOS:简单使用UIAlertVIew和UIActionSheet
  11. 分区助手迁移系统,更改系统盘盘符
  12. 74CMS 3.0 CSRF漏洞
  13. rust哪家服务器便宜稳定,rust服务器选择
  14. 安装Sublime Text 3
  15. 字符串与时间的格式转换
  16. selenium - 操作 DropDown 下拉表 (以微博注册为例)
  17. kafka集群配置(三台机器)
  18. JointJS点击选中元素高亮显示
  19. 霍尼韦尔报警主机常见问题问答
  20. 华为ne40e出现php什么意思,NE80E、NE40E、NE5000E的POS卡端口信息告警的含义及定位方法...

热门文章

  1. jmeter UDV
  2. 企业想申报高新技术企业如何规划
  3. 【qml】Image 显示网络图片
  4. spring cloud gateway 之 动态路由改造
  5. .aspx,.ascx和.ashx的关系
  6. 《2017中国云计算评测报告》重磅发布 阿里云、AWS、微软云实力PK
  7. event.preventDefault() 和 event.stopPropagation()方法之间有什么区别?如何知道是否在元素中使用了event.preventDefault()方法?
  8. Java 有序生成订单号或流水号
  9. 英语面试法宝:自我介绍范文
  10. 做大短将牌——level4 A7