35.前端笔记-CSS3-3D转换

news2025/7/14 3:34:59

1、3D的特点

  • 进大远小
  • 物体后面遮挡不可见
    在这里插入图片描述
    x:右为正
    y:下为正
    z:屏幕外是正,往里是负

3D移动之translate

transform:translateX(100px);//仅仅是x轴移动。px或百分比
transform:translateY(100px);//仅仅是y轴移动,px或百分比
transform:translateZ(100px);//仅仅是z轴移动,一般用px单位
transform:translate3D(x,y,z);//x,y,z移动,均不可省略,可以写0

透视 perspactive

  • 想要在网页产生3D效果需要透视(理解成3D物体投影在2D平面内)
  • 透视也叫视距:人的眼睛到屏幕的距离
  • 距离视觉点越近在电脑屏面成像越大,透视值越小,物体看着越大
  • 透视的单位是像素

注意:

透视是写在被观察元素的父盒子里的

transtlateZ

1、要搭配perspactive使用,只写translateZ的话,看不出3d在z轴的移动效果
2、透视是写在被观察元素的父盒子里的
3、透视值越大,表示视距越大,代表眼睛离物体越远,视觉效果越小
4、translateZ值越大,表示物体离屏幕外越近,视觉效果看着越大

<!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>Document</title>
    <style>
        body{
            perspective: 500px;
        }
        div{
            width: 100px;
            height: 100px;
            margin: 100px auto;
            background-color: orange;
            transform: translate3d(0,0,100px);
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

3d移动和透视

3D旋转rotate3d

可以让元素在三维平面内沿着x轴、y轴、z轴或者自定义轴进行旋转

transform:rotateX(45deg);//沿着x轴正方向旋转45度
transform:rotateY(45deg);//沿着y轴正方向旋转45度
transform:rotateZ(45deg);//沿着z轴正方向旋转45度
transform:rotate3d(x,y,z,deg);//沿着自定义轴(矢量)旋转deg度

在这里插入图片描述
左手弯曲,拇指指向x、y正方向,四指弯曲方向就是该元素沿x轴\y轴旋转的正方向

<!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>Document</title>
    <style>
        body{
            perspective: 500px;
        }
        img {
            width: 200px;
            height: 200px;
            margin: 50px;
            transition: all 3s ;
        }
        .dog1:hover{
            transform: rotateX(360deg);
        }
        .dog2:hover{
            transform: rotateY(360deg);
        }
        .dog3:hover{
            transform: rotateZ(360deg);
        }
        .dog4:hover{
            transform: rotate3d(100,100,100,360deg);
        }

    </style>
</head>

<body>
    <img class="dog1" src="../images/猛男.jpg" alt="">
    <img class="dog2" src="../images/猛男.jpg" alt="">
    <img src="../images/media/pic.jpg" alt="" class="dog3">
    <img class="dog4" src="../images/猛男.jpg" alt="">
    <!-- mmss -->
</body>

</html>

3d旋转

3D呈现transform-style**

  • 控制子元素是否开启三维立体环境
  • transform-style:flat;子元素不开启3d立体空间(默认/不写)
  • transform-style:preserve-3d;子元素开启立体空间
  • 代码加到父元素上,但是影响的是子元素
<!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>Document</title>
    <style>
        body{
            perspective: 500px;
            
        }
        .box{
            position: relative;
            width: 200px;
            height: 200px;
            background-color: purple;
            margin: 100px auto;
            transform-style: preserve-3d;
            transition: all 2s;
        }
        .box:hover{
            transform: rotateY(70deg);
        }
        .box div{
            position: absolute;
            top: 0;
            left:0;
            width: 100%;
            height: 100%;
            background-color: orange;
        }
        .box div:last-child{
            background-color: olivedrab;
            transform: rotate3d(1,0,0,70deg);
        }
        
    </style>
</head>
<body>
    <div class="box">
        <div>1</div>
        <div>2</div>
    </div>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/108809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

33页企业内容管理与应用建设整体解决方案

当前企业在采购管理上面临的主要问题总体应对思路利用数字化技术&#xff0c;推动企业采购管理效能与职能升级 基于互联网技术架构推出数字化采购管理平台&#xff0c;帮助企业构建采购过程与供应商管理的两大流程闭环&#xff0c;实现采购过程的在线化协同&#xff0c;进而提升…

华为云大数据BI解决方案,助力企业实现数字化转型

2022年1月12日&#xff0c;国务院印发了《“十四五”数字经济发展规划》&#xff0c;规划明确提出到2025年&#xff0c;数字经济核心产业增加值占国内生产总值比重达到10%。这一规划的出台&#xff0c;充分释放出加快发展数字经济的明确信号&#xff0c;为各行业进行数字化转型…

使用FCN实现语义分割

来源&#xff1a;投稿 作者&#xff1a;王浩 编辑&#xff1a;学姐 这篇文章的核心内容是讲解如何使用FCN实现图像的语义分割。 在文章的开始&#xff0c;我们讲了一些FCN的结构和优缺点。然后&#xff0c;讲解了如何读取数据集。接下来&#xff0c;告诉大家如何实现训练。最后…

Redis跳跃表(SkipList)

什么是跳跃表 跳跃表&#xff08;skiplist&#xff09;是一种有序且随机化的数据结构&#xff0c;它通过在每个节点中维持多个指向其他节点的指针&#xff0c;从而达到快速访问节点的目的。 跳跃表的用处 有序集合(zset)的底层可以采用数组、链表、平衡树等结果来实现, 但是他…

仪表盘读数识别检测 Python+yolov5

仪表读数识别检测利用Pythonyolov5深度学习对仪表盘刻度数进行实时识别检测读取。Python是一种由Guido van Rossum开发的通用编程语言&#xff0c;它很快就变得非常流行&#xff0c;主要是因为它的简单性和代码可读性。它使程序员能够用更少的代码行表达思想&#xff0c;而不会…

艾美捷硫代巴比妥酸反应物质 (TBARS)检测试剂盒试剂准备

艾美捷TBARS&#xff08;TCA法&#xff09;测定试剂盒提供了一种简单、可重复和标准化的工具&#xff0c;用于测定血浆、血清、尿液、组织匀浆和细胞裂解物中的脂质过氧化。在高温&#xff08;90-100C&#xff09;和酸性条件下&#xff0c;通过MDA和TBA反应形成的MDA-TBA加合物…

kali渗透测试系列---信息收集

kali 渗透测试系列 文章目录kali 渗透测试系列信息收集信息收集 信息收集阶段可以说是在整个渗透测试或者攻击很重要的阶段&#xff0c;毕竟知己知彼才能百战百胜&#xff0c;否则从目标主机使用的平台到数据库的使用再到 web 应用开发的语言等等的种类多如繁星我们一个个的尝…

Opencv(C++)笔记--直方图均衡化、直方图计算

目录 1--直方图均衡化 2--直方图计算 1--直方图均衡化 ① 简述&#xff1a; 对图片的对比度进行调整&#xff0c;输入为灰度图像&#xff0c;对亮度进行归一化处理&#xff0c;提高灰度图的对比度&#xff1b; ② Opencv API&#xff1a; cv::equalizeHist(gray, dst); ③…

Unprojecting_text_with_ellipses过程分析

文章目录一、单应性1. 图片实例2. 数学表达式二、算法思路1. 算法流程2. 透视失真具体解决方案3. 图片旋转具体解决方案4. 图片文字倾斜具体解决方案三、实际处理过程四、算法问题五、OCR识别原文链接 https://mzucker.github.io/2016/10/11/unprojecting-text-with-ellipses.h…

ListView的基本创建方式

ListView的基本创建方式 1.ListView 主要介绍了采用标签创建以及ArrayAdapter适配器以及采用继承ListActivity的方式创建列表项 1.简介 是一个列表控件&#xff0c;以列表的形式展示具体内容&#xff0c;可以给各行设置事件监听器ListView中View负责显示和更新&#xff0c;数据…

最小生成树

文章目录基本原理Kruskal算法Prim算法基本原理 连通图中的每一棵生成树&#xff0c;都是原图的一个极大无环子图&#xff0c;即&#xff1a;从其中删去任何一条边&#xff0c;生成树就不在连通&#xff1b;反之&#xff0c;在其中引入任何一条新边&#xff0c;都会形成一条回路…

二叉树9:二叉树的最大深度

主要是我自己刷题的一些记录过程。如果有错可以指出哦&#xff0c;大家一起进步。 转载代码随想录 原文链接&#xff1a; 代码随想录 leetcode链接&#xff1a; 104. 二叉树的最大深度 559.n叉树的最大深度 104.二叉树的最大深度 题目&#xff1a; 给定一个二叉树&#xff0…

校招面试真题 | 你的期望薪资是多少?为什么

很多人去面试的时候&#xff0c;就像打游戏&#xff0c;过五关斩六将&#xff0c;终于到最后一关了&#xff0c;但是谈薪资的难度堪比打游戏中搞定终级 boss 的难度&#xff0c;真的是太「南」了&#xff0c;好多人都是因为这个问题让自己五味杂陈呀。报高了怕好 offer 失之交臂…

Ubuntu: Docker安装与操作

在进行docker安装前&#xff0c;我们首先得有以下工具&#xff1a;xshell,FileZilla Client Xshell下载安装教程 FileZilla Client下载安装教程 如果你的Ubuntu是纯净的(也就是说刚下好并且刚用虚拟机装好的)&#xff0c;你得先 打开终端&#xff08;CtrlAltT&#xff09; 一…

远程连接服务器(运用密钥)连接winscp/vscode/mobaxterm

1.连接ssh 先检查自己是否登上校园VPN校园VPN导航页 (xjtu.edu.cn) sslvpn 进入cmd&#xff08;黑框框&#xff09; 输入&#xff1a; &#xff08;1&#xff09; ssh &#xff08;用户名&#xff09;&#xff08;IP名&#xff09; -p &#xff08;端口如22、2022&#x…

基于SSM框架的旅游网站的设计与实现

1 简介 今天向大家介绍一个帮助往届学生完成的毕业设计项目&#xff0c;*基于SSM框架的旅游网站的设计与实现 *。 计算机毕业生设计,课程设计需要帮助的可以找我 2 设计概要 1.1.研究背景 随着互联网技术的飞速发展&#xff0c;网络与我们的生活息息相关&#xff0c;在我们日…

汉诺塔问题的时间复杂度

一、汉诺塔问题 汉诺塔&#xff08;Tower of Hanoi&#xff09;是一个经典的递归算法问题。它描述的是有三根杆子和若干个不同大小的圆盘&#xff0c;圆盘可以按照大小顺序放在杆子上。初始时&#xff0c;所有圆盘都放在左边的杆子上&#xff0c;目标是将所有圆盘移动到右边的…

PS CS6视频剪辑基本技巧(三)添加声音和字幕

上一讲&#xff0c;介绍一下视频剪接和添加图片这两个功能。这一讲介绍添加声音和字幕&#xff0c;给上一讲剪接的视频添加一个背景音乐和解说字幕。 目录 一、添加音频 1、添加背景音乐 2、剪掉多余音乐 二、添加字幕 1、制作字幕模板 &#xff08;1&#xff09;新建背…

统治扩散模型的U-Net要被取代了,谢赛宁等引入Transformer提出DiT

来自 UC 伯克利的 William Peebles 以及纽约大学的谢赛宁撰文揭秘扩散模型中架构选择的意义&#xff0c;并为未来的生成模型研究提供经验基线。 近几年&#xff0c;在 Transformer 的推动下&#xff0c;机器学习正在经历复兴。过去五年中&#xff0c;用于自然语言处理、计算机视…

【C++】STL——priority_queue的介绍和使用及模拟实现

priority_queue的介绍和使用及模拟实现 文章目录priority_queue的介绍和使用及模拟实现1.priority_queue的介绍和使用priority_queue的介绍priority_queue的使用2. 仿函数3.堆的调整算法堆的向上调整算法堆的向下调整算法4.priority_queue的模拟实现1.priority_queue的介绍和使…