【前段基础入门之】=>CSS3新特性 3D 变换

news/2024/10/17 12:24:58/

导语

在上一章节中,我们分享了2D 变换的效果,也分享了一些案例,同时,既然有2D 变换,那么也就肯定有 3D 变换 那么本章节,就为大家带来有关3D 变换的分享.

在这里插入图片描述


文章目录

  • `开启3D空间`
  • 设置`景深`
  • `透视点位置`
  • `3D 位移`
  • `3D 旋转`
  • 3D `缩放`
  • 多重变换
  • 背部可见性

在这里插入图片描述

开启3D空间

重要原则:元素进行 3D 变换的首要操作:必须要为其父元素开启 3D 空间
在这里插入图片描述

transform-style: preserve-3d;  /*为其父元素开启 3D 空间*/

设置景深

概念

何为景深?—— 指定观察者与 z=0 平面的距离,能让发生 3D 变换的元素,产生立体透视效果,看来更加立体
在这里插入图片描述

transform-style: preserve-3d;  /*为其父元素开启 3D 空间*/
perspective: 700px;  /*并且自定义设置一个景深*/

初步案例

<div class="box"><div>3D变换</div>
</div>
.box {width: 600px;height: 600px;border: 1px solid;margin: 0 auto;margin-top: 105px;transform-style: preserve-3d;  /*为其父元素开启 3D 空间*/perspective: 700px;  /*并且自定义设置一个景深*/&>div {width: 600px;height: 600px;font-size: 25px;background-color: #5693af;transform: rotatex(53deg);}
}

立体效果
在这里插入图片描述


透视点位置

所谓透视点位置,就是观察者位置;默认的透视点在当前开启3D 元素的正中心

在这里插入图片描述

取值范围

属性取值
perspective-originx轴距离 y轴距离

x轴百分比 y轴百分比; 默认观察源为 50% 50%

方位单词1 方位单词2; 方位单词:top、bottom、center、left、right

注意:

  • 若只设置了一个值,则第二个值默认为 50%

在这里插入图片描述


3D 位移

3D 位移是在 2D 位移的基础上,可以让元素沿 z 轴位移,具体使用方式如下:

  • 先给元素添加 转换属性 transform
  • 编写 transform 的具体值, 3D 位移 相关可选值如下:
属性值描述
translateZ设置 z 轴位移,需指定长度值,正值向屏幕外,负值向屏幕里,且不能写 百分比
translate3d第1个参数对应 x 轴,第2个参数对应 y 轴,第3个参数对应 z 轴,且均不能省略
transform: translate3d(105px, 136px, 95px);

在这里插入图片描述


3D 旋转

3D 旋转是在 2D 旋转的基础上,可以让元素沿 x 轴y 轴旋转,具体使用方式如下:

  • 先给元素添加 转换属性 transform
  • 编写 transform 的具体值, 3D 旋转 相关可选值如下:
属性值描述
rotateX设置 x 轴旋转角度,需指定一个角度值( deg ),面对 x 轴正方向:正值顺时针,负值逆时针
rotateY设置 Y 轴旋转角度,需指定一个角度值( deg ),面对 Y 轴正方向:正值顺时针,负值逆时针
rotateZ设置 Z 轴旋转角度,需指定一个角度值( deg ),面对 Z 轴正方向:正值顺时针,负值逆时针
rotate默认,等同于rotateZ
rotate3d接收 4个参数,前 3 个参数分别表示坐标轴: x , y , z , 第 4 个参数表示旋转的角度值(deg),参数不允许省略
transform: rotate3d(1,1,1,30deg); 
  • 表示:X轴、 Y轴 、 Z轴 分别旋转30 度

3D 缩放

3D 缩放是在 2D 缩放的基础上,可以让元素沿 z 轴缩放,具体使用方式如下:

  • 先给元素添加 转换属性 transform
  • 编写 transform 的具体值, 3D 缩放 相关可选值如下:
属性值描述
scaleZ设置 z 轴方向的缩放比例,值为一个数字1 表示不缩放,大于 1 放大,小于 1 缩小
scale3d接收3个参数第1个参数对应 x 轴,第2个参数对应 y 轴,第3个参数对应 z 轴,参数不允许省略

值得注意

由于HTML 元素没有厚度,所以当设置 Z轴 缩放的时候,实际上是改变的景深


多重变换

多个变换,可以同时使用一个 transform 来集中式编写

transform: translateZ(100px) scaleZ(3) rotateY(40deg);

在这里插入图片描述


背部可见性

使用 backface-visibility 指定元素背面,在面向用户时是否可见,常用值如下:

属性值描述
visible指定元素背面可见,允许显示正面的镜像。—— 默认值
hidden指定元素背面不可见

在这里插入图片描述


🚵‍♂️ 博主座右铭:向阳而生,我还在路上!
——————————————————————————————
🚴博主想说:将持续性为社区输出自己的资源,同时也见证自己的进步!
——————————————————————————————
🤼‍♂️ 如果都看到这了,博主希望留下你的足迹!【📂收藏!👍点赞!✍️评论!】
——————————————————————————————


http://www.ppmy.cn/news/1158623.html

相关文章

面试题-React(十三):React中获取Refs的几种方式

一、Refs的基本概念 Refs是React提供的一种访问DOM元素或组件实例的方式。通过Refs&#xff0c;我们可以在React中获取到底层的DOM节点或组件实例&#xff0c;并进行一些操作。Refs的使用场景包括但不限于&#xff1a;访问DOM属性、调用组件方法、获取输入框的值等。 二、获取…

超简单小白攻略:如何利用黑群晖虚拟机和内网穿透实现公网访问

文章目录 前言本教程解决的问题是&#xff1a;按照本教程方法操作后&#xff0c;达到的效果是前排提醒&#xff1a; 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机&#xff1a;1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

黑马JVM总结(三十七)

&#xff08;1&#xff09;synchronized-轻量级锁-无竞争 &#xff08;2&#xff09;synchronized-轻量级锁-锁膨胀 重量级锁就是我们前面介绍过的Monitor enter &#xff08;3&#xff09;synchronized-重量级锁-自旋 &#xff08;4&#xff09;synchronized-偏向锁 轻量级锁…

从代码入手理解卡尔曼滤波器的原理之校正步骤(三)

// 更新步骤void update(double measurement) {// 计算卡尔曼增益double K = P / (P + R);// 根据观测值更新估算值x = x + K * (measurement - x

解决笔记本无线网络5G比2.4还慢的奇怪问题

环境&#xff1a;笔记本Dell XPS15 9570&#xff0c;内置无线网卡Killer Wireless-n/a/ac 1535 Wireless Network Adapter&#xff0c;系统win10家庭版&#xff0c;路由器H3C Magic R2Pro千兆版 因为笔记本用的不多&#xff0c;一直没怎么注意网络速度&#xff0c;直到最近因为…

Unity中Shader的深度测试ZTest

文章目录 前言一、深度测试是干什么的二、图示讲解深度测试的作用三、深度值的测试操作1、设置为测试不通过&#xff0c;看看效果2、使用开关控制是否开启深度测试 前言 Unity中Shader的深度测试ZTest 一、深度测试是干什么的 通俗的讲&#xff0c;深度测试就是颜色在写入颜色…

4.2 网际协议IP

思维导图&#xff1a; 前言&#xff1a; **笔记 4.2 - 网际协议IP** 1. **定义与重要性**&#xff1a; - 网际协议IP是TCP/IP体系中的核心协议之一。 - 它是互联网的关键标准协议。 2. **发展背景**&#xff1a; - 又被称为Kahn-Cerf协议。 - 由Robert Kahn和…

【前端设计模式】之解释器模式

解释器模式是一种行为设计模式&#xff0c;它用于解释特定语言或规则的表达式。在前端开发中&#xff0c;解释器模式可以用于处理复杂的逻辑或规则&#xff0c;并将其转化为可执行的代码。 解释器模式特性 定义语言规则&#xff1a;解释器模式通过定义语言规则来解析和执行表…