0067 透视 perspective、与 translateZ 的区别

【经试验,Z轴的位移距离大于或等于perspective时,元素不显示。】

  1. 知识点讲解

    • 如果想要网页产生 3D 效果,需要透视(理解成 3D 物体投影在 2D 平面上)
    • 实际上模仿人类的视觉位置,可视为安排一直眼睛去看
    • 透视,也称为视距,所谓的视距,就是人的眼睛到屏幕的距离 【透视越小,物体看的越大,立体效果越好,透视越大,物体越小。
    • 距离视觉点越近的,在电脑平面成像越大,越远,成像越小
    • 透视的单位是像素
  2. 知识要点
    • 透视需要写在被视察元素的父盒子上面
    • 注意下方图片
      • d:就是视距,视距就是指人的眼睛到屏幕的距离
      • z:就是 z 轴,z 轴越大(正值),我们看到的物体就越大

  1. ?
  2. 代码演示
    body {
      perspective: 1000px;
    }
demo
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body {
            /* 透视写到被观察元素的父盒子上面 */
            perspective: 200px;
        }

        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            /* transform: translateX(100px);
            transform: translateY(100px); */
            /* transform: translateX(100px) translateY(100px) translateZ(100px); */
            /* 1. translateZ 沿着Z轴移动 */
            /* 2. translateZ 后面的单位我们一般跟px */
            /* 3. translateZ(100px) 向外移动100px (向我们的眼睛来移动的) */
            /* 4. 3D移动有简写的方法 */
            /* transform: translate3d(x,y,z); */
            /* transform: translate3d(100px, 100px, 100px); */
            /* 5. xyz是不能省略的,如果没有就写0 */
            /* 经试验,Z轴的位移距离大于或等于perspective时,元素不显示。 */
            transform: translate3d(400px, 100px, 100px);
        }
    </style>
</head>

<body>
    <div></div>
</body>

</html>

---

translateZperspecitve 的区别
  1. translateZperspecitve 的区别

    • perspecitve 给父级进行设置,translateZ 给 子元素进行设置不同的大小
    • 【有多个子元素时,给各个子元素设置各自的translateZ 可以实现不同的3D效果。】
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body {
            perspective: 500px;
        }

        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 100px auto;
            transform: translateZ(0);
        }
    </style>
</head>

<body>
    <div></div>
    <div></div>
    <div></div>
</body>

</html>

原文地址:https://www.cnblogs.com/jianjie/p/12127208.html

时间: 2024-11-05 21:44:34

0067 透视 perspective、与 translateZ 的区别的相关文章

CSS3 03. 3D变换、坐标系、透视perspective、transformZ、transform-style添加3D效果、backface-visibility元素背面可见、动画animation、@keyfarmes、多列布局

1.左手坐标系 伸出左手,让拇指和食指成"L"形,大拇指向右,食指向上,中指指向前方.这样我们就建立了一个左手坐标系,拇指.食指和中指分别代表X.Y.Z轴的正方向.如下图 CSS中的3D坐标系 CSS3中的3D坐标系与上述的3D坐标系是有一定区别的,相当于其绕着X轴旋转了180度,如下图 左手法则 左手握住旋转轴,竖起拇指指向旋转轴正方向,正向就是其余手指卷曲的方向. 透视 perspective perspective:400px: 电脑显示屏是一个2D平面,图像之所以具有立体感(3

立体透视 perspective transform-style 倾斜旋转

1.perspective 是设置镜头距离,距离越远视图越小,视图越近,视图越大.就像相机焦距一样.其只对子元素产生效果. 2.transform-style: preserve-3d 设置3d效果,也是只对子元素产生效果. 3. 倾斜的视图,并且旋转,最开始我以为要对坐标系统进行旋转,其实不然.设置联合动画就行. @keyframes Rotate{ /*//联合作用才会产生效果*/ from{transform:rotateZ(-30deg) rotateY(0);} to{transfor

Transform-style和Perspective属性

transform-style属性 transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现.他主要有两个属性值:flat和preserve-3d. transform-style属性的使用语法非常简单: transform-style: flat | preserve-3d 其中flat值为默认值,表示所有子元素在2D平面呈现.preserve-3d表示所有子元素在3D空间中呈现. 也就是说,如果对一个元素设置了transform-style的值为flat,则

perspective 的笔记

以前看到别人做的banner图,3d变化,很羡慕啊,一直不知道怎么做,直到看到了这个样式perspective,然后就知道怎么实现了 一个简单的例子,扫起 perspective perspective 属性定义 3D 元素距视图的距离,以像素计.该属性允许您改变 3D 元素查看 3D 元素的视图. 当为元素定义 perspective 属性时,其子元素会获得透视效果,而不是元素本身. 注释:perspective 属性只影响 3D 转换元素. 从w3school上抄的一段话,我也是这么理解的.

ASP.NET实现类似Excel的数据透视表

代码: /Files/zhuqil/Pivot.zip 数据透视表提供的数据三维视图效果,在Microsoft Excel能创建数据透视表,但是,它并不会总是很方便使用Excel.您可能希望在Web应用程序中创建一个数据透视报表.创建一个简单的数据透视表可能是一件非常复杂的任务.所以,我打算不但为你提供一个非常有用的工具创建简单和高级的数据透视表,而且为你移除一些笼罩他们的神秘面纱. 目标是:我们想要有能力将datatable中的二维的数据转换成三维视图. 在大多数情况下,你会从数据库的查询数据

CSS3学习总结3-3D与动画

前言:这是篇CSS3中关于3D效果与动画相关的内容. (1)在CSS3的3D效果中,需要结合透视perspective的属性才能看到3d的效果,这个属性在屏幕上实现了元素近大远小的效果,所以要使用CSS3的3d相关属性,需要记得写perspective. (2)在CSS3的3d坐标系与数学中的坐标系有所区别,主要是在y轴正方向的规定上. x轴正方向:从左往右 y轴正方向:从上至下 z轴正方向:从里至外 旋转 在C3的2D变换中,rotate代表了元素围绕Z轴旋转一个角度,3d中还有围绕X和Y轴旋

CSS 3 学习——transform 3D转换渲染

以下内容根据官方规范翻译,没有翻译关于SVG变换的内容和关于矩阵计算的内容. 一般情况下,元素在一个无景深无立体感的平面(flat plane)上渲染,这个平面就是其包含块所处的平面.同时,页面上的其他元素也共享这个平面.2D变换函数虽然能改变元素的表现,但是这个被改变的元素仍然是在其包含块所处的平面内被渲染. 3D变换会产生一个变换矩阵,该变换矩阵在Z轴上的分量不为0.结果是把元素渲染到一个不同于其包含块所处的平面内.这将影响到通常情况下的"后来居上"的渲染规则:变换元素可能会和其相

css知识总结

---# 学习目标:> 1. 学会使用CSS选择器> 2. 熟记CSS样式和外观属性> 3. 熟练掌握CSS各种选择器> 4. 熟练掌握CSS各种选择器> 5. 熟练掌握CSS三种显示模式> 6. 熟练掌握CSS背景属性> 7. 熟练掌握CSS三大特性> 8. 熟练掌握CSS盒子模型> 9. 熟练掌握CSS浮动> 10.熟练掌握CSS定位> 11.熟练掌握CSS高级技巧强化CSStypora-copy-images-to: media---

CSS3 3D转换transform

3D: 脱离文档流,平均角度,按z轴即垂直div往外,各自推送相同的距离 1.perspective的作用? 使具有3D效应的元素,产生透视效果,若没有透视效果,你看到的只是2维的平面 2.perspective-3d的作用? 规定了子元素是看起来位于3维空间,还是在2维平面 当只有perspective时,很容易产生一些奇怪的透视3维平面,即其子元素应该是3维的透视到此父元素的平面上,但由于没有perspective-3d则会在其上平面化显示,即有独立的3维空间但显示确偏2维,而只有persp