前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【CSS3】CSS3 3D 转换 ③ ( 3D 透视视图 | translateZ 转换分析 | 网页调试工具调试 translateZ 属性值 | 代码示例 )

【CSS3】CSS3 3D 转换 ③ ( 3D 透视视图 | translateZ 转换分析 | 网页调试工具调试 translateZ 属性值 | 代码示例 )

作者头像
韩曙亮
发布2023-10-15 16:13:22
2460
发布2023-10-15 16:13:22
举报

一、translateZ 转换分析

1、translateZ 转换对应的空间分析

" 透视 " 是 模拟人的眼镜 , 观察 物体 在 平面上的成像 ,

translateZ 转换 , 是 物体 沿着 Z 轴 移动 , 也就是下图中的 Z 距离 ;

在这里插入图片描述
在这里插入图片描述

Z 轴的 Z 数值 是 物体 和 成像平面 之间的距离 , 默认为 0 ;

  • 如果 Z 增加 , 说明 物体 越靠近 眼睛 , 在平面上成像范围更大 ;
  • 如果 Z 减小 , 说明 物体 越远离 眼睛 , 在平面上成像范围减小 ;

translateZ 转换 就是 上图中的 Z 距离转换 , Z 越大 , 越靠近眼睛 , 物体显示就越大 ;

2、网页调试工具调试 translateZ 属性值

在网页中 , 修改标签元素的 transform: translateZ 属性值 , Z 轴平移值为 0 时 , 显示的样式如下 , 标签元素显示的大小就是其本身大小 ;

在这里插入图片描述
在这里插入图片描述

Z 轴平移值为 -200 px 时 , 显示的样式如下 , 标签元素会变小 ; 近大远小 , 这里变远了 ;

在这里插入图片描述
在这里插入图片描述

Z 轴平移值为 200 px 时 , 显示的样式如下 , 标签元素会变大 ; 近大远小 , 这里变近了 ;

在这里插入图片描述
在这里插入图片描述

二、代码示例 - translateZ 转换分析


1、代码示例 - translateZ 为 0 的参照示例

在下面的代码中 , 设置了 500 像素的 视距 ;

设置元素的 3D 转换属性为 :

代码语言:javascript
复制
            /* 设置 3D 转换 */
            transform: translateZ(0)

相当于在下图中 , 视距 ( 人眼距离成像平面距离 )

d = 500

像素 , 物体距离成像平面距离

Z = 0

像素 , 此时 物体的大小 就是其 本身的大小 ;

在这里插入图片描述
在这里插入图片描述

代码示例 :

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3D 转换 - 平移</title>
    <style>
        body {
            /* 透视 属性 需要写在 被观察元素 的  父容器 上
                视距越小 成像越大 
                如果想要网页中的元素看起来大一些 可以减小视距 */
            perspective: 500px;
        }
        
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 100px auto;
            /* 设置 3D 转换 */
            transform: translateZ(0)
        }
    </style>
</head>

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

</html>

执行效果 : 网页中的 div 大小就是 200 像素 ;

在这里插入图片描述
在这里插入图片描述

2、代码示例 - translateZ 为 200 示例

在下面的代码中 , 设置了 500 像素的 视距 ;

设置元素的 3D 转换属性为 :

代码语言:javascript
复制
            /* 设置 3D 转换 */
            transform: translateZ(200)

相当于在下图中 , 视距 ( 人眼距离成像平面距离 )

d = 500

像素 , 物体距离成像平面距离

Z = 200

像素 , 此时 物体的大小 在平面上的成像要大于 本身的大小 ;

在这里插入图片描述
在这里插入图片描述

代码示例 :

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>3D 转换 - 平移</title>
    <style>
        body {
            /* 透视 属性 需要写在 被观察元素 的  父容器 上
                视距越小 成像越大 
                如果想要网页中的元素看起来大一些 可以减小视距 */
            perspective: 500px;
        }
        
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            margin: 100px auto;
            /* 设置 3D 转换 */
            transform: translateZ(200px)
        }
    </style>
</head>

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

</html>

执行效果 : 网页中的 div 大小就 远大于 200 像素 ;

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-08-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、translateZ 转换分析
    • 1、translateZ 转换对应的空间分析
      • 2、网页调试工具调试 translateZ 属性值
      • 二、代码示例 - translateZ 转换分析
        • 1、代码示例 - translateZ 为 0 的参照示例
          • 2、代码示例 - translateZ 为 200 示例
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档