【CSS3】CSS3 3D 转换 ② ( 3D 透视视图 | “ 透视 “ 概念简介 | 视距与成像关系 | CSS3 中 “ 透视 “ 属性设置 | “ 透视 “ 语法设置 | 代码示例 )

2023-08-11 22:40:22





一、" 透视 " 概念简介




1、" 透视 " 概念引入


在本博客中引入 3D 效果 透视视图 Perspective 概念 ;

3D 视图中 产生 3D 效果 , 最终要的是有透视效果 , 通俗的讲 " 透视 " 就是实现 " 近大远小 " 的效果 ;

透视 就是 将 3D 空间中的物体 投影显示到 2D 平面中 ;


透视视图 ( Perspective View ) : 近大远小 , 符合正常人眼观察 3D 世界的规律 ;

  • 近大 : 物体 距离 观察点 ( 视点 ) 比较近时 , 显示效果比较大 ;
  • 远小 : 物体 距离 观察点 ( 视点 ) 比较远时 , 显示效果比较小 ;

下图就是利用了 透视视图 原理 , 照像机离鸟很近 , 离人很远 ;
在这里插入图片描述


2、视距与成像关系


下图中 , 在这里插入图片描述 是 人的眼镜 , 在这里插入图片描述 是 3D 空间中的物体 , 在这里插入图片描述 是一个 2D 平面 , 透视是 将 中间的 3D 物体投射到该 2D 平面中 ;

  • 如果 中间的 3D 物体 向前移动 , 显示在 2D 平面中的投影会变大 ;
  • 如果 中间的 3D 物体 向后移动 , 显示在 2D 平面中的投影会变小 ;

在这里插入图片描述


视距 : 人的 眼睛 到 屏幕 中的距离 , 就是 视距 , 也就是 上图中的 d 距离 ;

  • 视距 越小 , 也就是 视点 与 2D 平面之间 近 , 2D 平面的成像越大 ;
  • 视距 越大 , 也就是 视点 与 2D 平面之间 远 , 2D 平面的成像越小 ;

视距示例 : 看电脑屏幕 , 如果距离比较近 , 则视距小 , 成像较大 , 如 VR 眼睛 , 可以成像很大 ;





二、CSS3 中 " 透视 " 属性设置




1、" 透视 " 语法设置


透视 属性 需要写在 被观察元素 的 父容器 上 ;

透视 属性 语法 :

perspective: d;

设置 透视 属性 值 是 像素 px , 设置的是 视距 , 也就是 视点 到 投影平面 的距离 ;

  • 视距越小 , 成像越大 ;
  • 视距越大 , 成像越小 ;

perspective 透视属性使用示例 :

        body {
            /* 透视 属性 需要写在 被观察元素 的  父容器 上
                视距越小 成像越大 
                如果想要网页中的元素看起来大一些 可以减小视距 */
            perspective: 500px;
        }

2、代码示例 - " 透视 " 语法设置


添加了透视后的代码示例


核心代码如下 : 需要为 div 设置透视效果 , 需要设置到 div 的父容器 body 上 ;

        body {
            /* 透视 属性 需要写在 被观察元素 的  父容器 上
                视距越小 成像越大 
                如果想要网页中的元素看起来大一些 可以减小视距 */
            perspective: 500px;
        }

添加了透视后的代码示例 :

<!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;
            /* 设置 3D 转换 */
            transform: translateX(100px) translateY(100px) translateZ(100px)
        }
    </style>
</head>

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

</html>

执行结果

执行结果 :

在这里插入图片描述

参考上一篇博客 【CSS3】CSS3 3D 转换 ① ( CSS3 3D 转换简介 | 3D 物体与 2D 物体区别 | 3D 空间坐标系 | 常用的 3D 转换属性 | 3D 位移转换语法 | 代码示例 ) 中 , 没有设置透视的效果 , 显然 添加了透视后 , 3D 物体在 网页 中成像比较大 ;

在这里插入图片描述

更多推荐

JSP ssm 网上求职管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点JSPssm网上求职管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,spring+springMVC+mybatis),对理解JSPjava编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为M

Spring学习(三):MVC

一、什么是MVCMVC(Model-View-Controller)是一种软件设计模式,用于组织和管理应用程序的代码结构。它将应用程序分为三个主要部分,即模型(Model)、视图(View)和控制器(Controller),每个部分都有特定的职责和功能。以下是MVC模式中各个组成部分的概述:模型(Model):模型代表

软件机器人助力企业产地证自动化申报,提高竞争力,降低成本

在国际贸易中,产地证是一项重要的文件,它用于证明货物的原产地,有助于企业在海外清关时获得优惠税率。然而,产地证的申报过程通常涉及繁琐的数据整理和报文生成,消耗了大量时间和精力。本文将探讨如何利用博为小帮软件机器人实现产地证的自动化申报,以提高工作效率和优惠税率的获取。软件机器人简介软件机器人是一种自动化软件机器人,可以

RFID产线自动化升级改造管理方案

应用背景在现代制造业中,产线管理是实现高效生产和优质产品的关键环节,产线管理涉及到生产过程的监控、物料管理、工艺控制、质量追溯等多个方面,有效的产线管理可以提高生产效率、降低成本、改善产品质量,并满足市场需求的变化。产线管理的难点和挑战数据采集和记录的准确性和效率低下:传统的手工记录和条码扫描方式需要大量的人工操作,非

七天学会C语言-第二天(数据结构)

1.If语句:If语句是一种条件语句,用于根据条件的真假执行不同的代码块。它的基本形式如下:if(条件){//条件为真时执行的代码}else{//条件为假时执行的代码}写一个基础的If语句#include<stdio.h>intmain(){intx=10;if(x>5){printf("x大于5\n");}else{

【深度学习】Pytorch 系列教程(十一):PyTorch数据结构:3、变量(Variable)介绍

目录一、前言二、实验环境三、PyTorch数据结构0、分类1、张量(Tensor)2、张量操作(TensorOperations)3、变量(Variable)一、前言ChatGPT:PyTorch是一个开源的机器学习框架,广泛应用于深度学习领域。它提供了丰富的工具和库,用于构建和训练各种类型的神经网络模型。下面是PyT

【C++】详解std::mutex

2023年9月11日,周一中午开始2023年9月11日,周一晚上23:25写完目录概述头文件std::mutex类的成员类型方法没有std::mutex会产生什么问题问题一:数据竞争问题二:不一致lock和unlock死锁概述std::mutex是C++标准库中提供的一种同步原语,用于保护共享资源的访问。std::mu

防火墙 (五十四)

目录前言一、防火墙作用二、防火墙分类三、防火墙性能四、硬件防火墙五、软件防火墙5.1iptables六、iptables应用前言本文就简单的介绍了防火墙的基础内容和一些简单案例的操作。提示:以下是本篇文章正文内容,下面案例可供参考一、防火墙作用在计算机领域,防火墙是用于保护信息安全的设备,其会依照用户定义的规则,允许或

Ascend-pytorch插件介绍及模型迁移

Ascend-pytorch插件介绍及模型迁移用于昇腾适配PyTorch框架,为使用PyTorch框架的开发者提供昇腾AI处理器的超强算力。links:AscendPyTorch官方仓库PyTorch官方主页PyTorch官方文档PyTorch官方仓库当前(2023.9.20)AscendPyTorch支持的pytor

数字孪生行业相关政策梳理--工业领域相关政策(可下载)

&nbsp;&nbsp;&nbsp;&nbsp;自2021年国家“十四五”规划纲要提出“探索建设数字孪生城市”以来,国家发展和改革委员会、工业和信息化部、住房和城乡建设部、水利部、农业农村部等部门纷纷出台政策,大力推动数字孪生在千行百业的落地发展。这些政策不仅为数字孪生的应用提供了广阔的舞台,也为相关产业的发展提供了坚

【Linux】线程控制

文章目录📖前言1.线程的id1.1pthread_self:1.2线程独立栈结构:1.3pthread_t究竟是什么:1.4线程的局部存储:2.线程退出的三种方式2.2-1方式一:pthread_cancel2.2-2方式二:pthread_exit2.2-3方式三:隐式退出3.线程的分离3.1新线程分离后,主线程先

热文推荐