3D变形:平移、旋转、缩放

什么是3d转换

定义元素在三维空间移动、缩放、旋转

3d坐标轴(图示)

3D立体空间的3根轴线

  • x轴:水平,向右为正,向左为负

  • y轴:垂直,向下为正,向上为负

  • z轴:垂直于屏幕,向外为正,向内为负

1)3D必备属性

  • perspective属性:景深(透视),属性值为透视点到元素的距离,近大远小;也可以让网页产生3D效果,单位像素

  • 一般取值:800px-1000px
    perspective:800px 就是人离屏幕800px 的地方观看这个div元素。
    当translateZ的大小临近与800px时图片离我们越来越近了
    当它大于800px时,这个图片就消失了
    ​
    反之当translateZ为负值时,我们可以看到图片变小了,也就是图片离人越来越远了。

2) 旋转

  • transform: rotateZ(a); 沿着Z轴方向旋转

  • a 指的是一个旋转角度值,如果为正值,元素围绕 Z 轴顺时针旋转;反之,如果为负值,元素围绕 Z 轴逆时针

    旋转。

  • transform: rotate3d(x,y,z,angle);

  • 参数:

    x:是一个 0 到1之间的数值,主要用来描述元素围绕 X 轴旋转的矢量值。

    y:是一个 0 到1之间的数值,主要用来描述元素围绕 Y 轴旋转的矢量值。

    z:是一个 0 到1之间的数值,主要用来描述元素围绕 Z 轴旋转的矢量值。

    angle:一个角度值,指定在 3D 空间旋转角度,正值顺时针旋转,反之元素逆时。

1、两个值为零,定义X,Y,Z轴旋转
rotate3d(1,0,0,angle)   x轴旋转
rotate3d(0,1,0,angle)   y轴旋转
rotate3d(0,0,1,angle)   z轴旋
​
/* 沿着x轴方向旋转 */
transform: rotateX(-45deg);
transform: rotate3d(1,0,0,-45deg);
​
/* 沿着y轴方向旋转 */
transform: rotateY(-45deg);
transform: rotate3d(0,1,0,-45deg);
​
/* 沿着z轴方向旋转 */
transform: rotateZ(-45deg);
transform: rotate3d(0,0,1,-45deg);
​
​
2、两个值不为零,定义多轴旋转
rotate3d(1,0.5,0,30deg)
​
x 1*30   30deg
​
y 0.5*30  15deg
​
z 0*0     0deg
​
.box5:hover img {/* z */transform: rotate3d(.5, 1, 0, 60deg);/* x:0.5*60=30degy:1*60=60degz:0*60=0deg
​*/
}
3、三个值不为零,定义多轴旋转
​
.box6:hover img {/* z */transform: rotate3d(.5, 1, 1, 60deg);/* x:0.5*60=30degy:1*60=60degz:1*60=60deg
​*/
}

父子关系外间距塌陷

当子元素设置 margin-top的时候,子元素与父元素没有产生上外间距,此时上外间距会叠加给父元素
​当子元素和父元素同时具有上外间距,子元素与父元素没有产生上外间距,外间距会叠加给父元素,子元素的上外间距和父元素的上外间距值,取最大值解决方法:1.给父元素设置overflow: hidden;2.给父元素设置1px的上边框或者1px的上内填充3.规避margin,巧用padding

3D变形:平移、旋转、缩放、父子关系外间距塌陷相关推荐

  1. Unity 触屏手势控制Camera平移旋转缩放

    Unity 触屏手势控制Camera平移旋转缩放 实现思路 单点触屏,位移增量控制相机平移: 两点触屏,两点位移控制相机前后移动(缩放):两点中一点不位移控制相机绕点旋转: 实现需要的API Touc ...

  2. CSS-0813(重复性)线性/径向渐变-过渡属性transition-变形属性transform变形位移旋转缩放倾斜视域函数perspective变形原点三角形居中方法

    title: "CSS 0813-渐变&过渡&变形" date: 2022-08-15T09:43:28+08:00 文章目录 title: "CSS 0 ...

  3. unity 3D模型展示旋转缩放

    目标: 在UI层上 自由观察3D 模型,实现鼠标控制模型的旋转,缩放&& 触摸屏手势控制模型的旋转缩放控制: 这里仅将控制代码挂载到相机上,通过对相机的控制来观察模型. 基本上为最小单 ...

  4. 三维空间中的几何变换-平移旋转缩放

    前言 前段时间由于项目需要,深入学习了下图形几何变换,主要是绕任意轴旋转部分(其他的已有一定基础),现记录学习笔记. 文章内容部分引用并参考了下面的博客: http://netclass.csu.ed ...

  5. Unity矩阵平移旋转缩放Matrix4x4

    Unity中的矩阵(Matrix4x4) 最近在研究帧同步定点数物理系统中需要自定义定点数矩阵,所以在这里分享下基础的矩阵案例旋转.平移.缩放.(注意这里本文中的transform组件式基于unity ...

  6. 三维坐标 偏转_三维坐标变换原理-平移, 旋转, 缩放

    给定一个二维点(x, y),那么形如(kx, ky, k)的所有三元组就都是等价的,它们就是这个点的齐次坐标(homogeneous).齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指 ...

  7. 三维坐标要建一个4*4的矩阵?平移 旋转 缩放

    移植不知道三维物体的旋转平移缩放和矩阵的关系.找到这篇文章借鉴一下. 转自:https://blog.csdn.net/ALLENJIAO/article/details/80348362 怎么平移一 ...

  8. flutter Transform 矩阵变换(平移旋转缩放)

    Transform其子Widget绘制时外面包着矩阵变换(transformation),通过它可以实现各种矩阵操作. 1.widget平移 效果图 2.旋转(rotate) 效果图: 3.缩放 Tr ...

  9. Cesium变换3DTiles的位置(平移旋转缩放)

    function add3DTilesetDataTrans(url) {             //viewer1.scene.globe.depthTestAgainstTerrain = tr ...

最新文章

  1. python pyqt eric_Python3.6 + Pyqt5 + Eric6 环境搭建
  2. springboot工厂模式_最新整理138道阿里、快手等大厂面试题解析:基础+Spring+并发+JVM+设计模式+缓存...
  3. 2022春节档新片预售总票房达1.08亿
  4. Ansible Tower - 使用入门 4 - 用 Workflow 执行模板
  5. Xopsed的编译与安装
  6. oracle 插入n字母,Nhibernate在oracle批量插入失败,求解?
  7. 【GPU精粹与Shader编程】(一) 开篇 全系列11本书核心知识点总览
  8. Ubuntu的另类安装方法
  9. 表格里加横线一分为二_表格分割线如何一分为二
  10. __kindof用法
  11. JS数据结构中的集合结构详解
  12. 常微分齐次方程的规范化通解
  13. 微信小程序标题栏加logo–基于IView-weapp
  14. 无法连接虚拟设备sata的原因
  15. 拼字游戏 html5,拼字游戏攻略
  16. 【Linux进程】Linux进程
  17. Docker下安装MCR windows镜像安装Matlab 静默安装MCR silent install 无交互安装 无Gui安装 控制台安装
  18. PF_RING 6.0.2在Redhat 6.3 x86_64上编译和安装
  19. 贵州省能源发展“十三五”规划:2020年光伏装机2GW以上
  20. 接口传值、回传、修改Fragment 老王版本

热门文章

  1. pythonvtk地形建模_vtk三维地质体建模(1)
  2. Zksync Era合约部署超详细教程,避坑实录
  3. 网上下载的视频有水印怎么办?教你这样操作,3分钟快速去掉水印
  4. oracle复习笔记之索引
  5. android imageview 加边框,RCImageView 自定义圆角ImageView,带边框效果
  6. vant 引入其他图标
  7. 华为主题开发分享-在windows 11操作系统上识别不到P50等华为手机的解决方案
  8. 大白话5分钟带你走进人工智能-第34节神经网络之多神经网络概念(2)
  9. 在mac下 谷歌浏览器自动隐藏滚动条问题
  10. 二次元卡通角色渲染实现