7-web前端 空間轉換,3D效果

来源:https://www.cnblogs.com/ljygzyblog/archive/2023/09/19/web_7.html
-Advertisement-
Play Games

1、認識3D轉換 近大遠小 近實遠虛 物體和麵遮擋不可見 2、三維坐標系 x 軸:水平向右 -- 註意:x 軸右邊是正值,左邊是負值 y 軸:垂直向下 -- 註意:y 軸下麵是正值,上面是負值 z 軸:垂直屏幕 -- 註意:往外邊的是正值,往裡面的是負值 3、3D轉換 3D 轉換知識要點 3D 位移 ...


1、認識3D轉換

近大遠小 近實遠虛

物體和麵遮擋不可見 2、三維坐標系     x 軸:水平向右 -- 註意:x 軸右邊是正值,左邊是負值     y 軸:垂直向下 -- 註意:y 軸下麵是正值,上面是負值     z 軸:垂直屏幕 -- 註意:往外邊的是正值,往裡面的是負值   3、3D轉換   3D 轉換知識要點   3D 位移:translate3d(x, y, z)   3D 旋轉:rotate3d(x, y, z)   透視:perspctive   3D呈現 transfrom-style   3D 移動 translate3d   3D 移動就是在 2D 移動的基礎上多加了一個可以移動的方向,就是 z 軸方向   transform: translateX(100px):僅僅是在 x 軸上移動   transform: translateY(100px):僅僅是在 y 軸上移動   transform: translateZ(100px):僅僅是在 z 軸上移動   transform: translate3d(x, y, z):其中x、y、z 分別指要移動的軸的方向的距離

註意:x, y, z 對應的值不能省略,不需要填寫用 0 進行填充

transform: translate3d(x, y, z) transform: translate3d(100px, 100px, 100px) /* 註意:x, y, z 對應的值不能省略,不需要填寫用 0 進行填充 */ transform: translate3d(100px, 100px, 0)     4、透視   知識點講解     如果想要網頁產生 3D 效果需要透視(理解成 3D 物體投影的 2D 平面上)     實際上模仿人類的視覺位置,可視為安排一隻眼睛去看     透視也稱為視距,所謂的視距就是人的眼睛到屏幕的距離     距離視覺點越近的在電腦平面成像越大,越遠成像越小     透視的單位是像素   知識要點     透視需要寫在被視察元素的父盒子上面   註意下方圖片     d:就是視距,視距就是指人的眼睛到屏幕的距離     z:就是 z 軸,z 軸越大(正值),我們看到的物體就越大 body { perspective: 1000px; }   5、translateZ   translateZ 與 perspecitve 的區別   perspecitve 給父級進行設置,translateZ 給 子元素進行設置不同的大小

6、3D旋轉rotateX 3D 旋轉指可以讓元素在三維平面內沿著 x 軸、y 軸、z 軸 或者自定義軸進行旋轉   語法   transform: rotateX(45deg) -- 沿著 x 軸正方向旋轉 45 度   transform: rotateY(45deg) -- 沿著 y 軸正方向旋轉 45 度   transform: rotateZ(45deg) -- 沿著 z 軸正方向旋轉 45 度   transform: rotate3d(x, y, z, 45deg) -- 沿著自定義軸旋轉 45 deg 為角度   判斷方法:   左手準則     左手的手拇指指向 x 軸的正方向,     其餘手指的彎曲方向就是該元素沿著 x 軸旋轉的方向   7、3D旋轉rotateY   左手準則     左手的拇指指向 y 軸的正方向     其餘的手指彎曲方向就是該元素沿著 y 軸旋轉的方向(正值)   7、3D旋轉rotateZ    rotate3d   transform: rotate3d(x, y, z, deg) -- 沿著自定義軸旋轉 deg 為角度   x, y, z 表示旋轉軸的矢量,是標識你是否希望沿著該軸進行旋轉,最後一個標識旋轉的角度   transform: rotate3d(1, 1, 0, 180deg) -- 沿著對角線旋轉 45deg   transform: rotate3d(1, 0, 0, 180deg) -- 沿著 x 軸旋轉 45deg   div { perspective: 500px; } img { display: block; margin: 100px auto; transition: all 1s; } img:hover { transform: rotate3d(1, 1, 0, 180deg) }     8、案例  :旋轉木馬      
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 引入 本文在兩台2核2g的雲伺服器上搭建了Hadoop集群,兩台雲伺服器分別是阿裡雲(hjm)和騰訊雲(gyt),集群部署規劃如下: hjm gyt HDFS NameNode\SecondaryNameNode\DataNode DataNode YARN ResourceManager\Node ...
  • 一、邏輯存儲結構 表空間(Tablespace):一個mysql實例,及一個資料庫實例,可以對應多個表空間(ibd文件),用於存儲記錄,索引等數據。 段(Segment):分為數據段(Leaf node segment)、索引段(Non-leaf node segment)、回滾段(Rollback ...
  • 之前寫的一個 Flutter 收音機,支持桌面端和手機端,在https://www.cnblogs.com/imlgc/p/17536481.html ,寫完之後就不怎麼管了。後面陸陸續續有人郵件索要驗證碼,不是經常使用的郵箱,所有也不經常打開,也導致很多人沒有收到回覆。 所以,乾脆將這個東西開源了 ...
  • 在DAYU200開發板上燒寫OpenHarmony系統,利用huaweicloud-iot-device-sdk完成華為雲IoT平臺對接,完成物聯網數據通信。 ...
  • 複製 init.gradle.kts 文件到 Windows 的 %USERPROFILE%/.gradle 或者 Linux 的 ~/.gradle 目錄下。也可以直接複製文末的代碼為 init.gradle.kts。 Gradle 不支持鏡像源的直接設置,只能通過 maven() 方法設置一個新 ...
  • 作用域(scope)規定了變數能夠被訪問的“範圍”,離開了這個“範圍”變數便不能被訪問。作用域分為:局部作用域和全局作用域。 ...
  • 1、flex彈性佈局 設置方式:給父元素設置 display: flex,子元素可以自動擠壓或拉伸 組成部分: 彈性容器 彈性盒子 主軸:預設在水平方向 側軸 / 交叉軸:預設在垂直方向 例如: 2、主軸對齊方式 屬性名:justify-content 屬性值 效果 flex-start 預設值,彈 ...
  • 1、動畫說明 目標:使用animation添加動畫效果 思考:過渡可以實現什麼效果? 答:實現2個狀態間的變化過程 動畫效果:實現多個狀態間的變化過程,動畫過程可控(重覆播放、最終畫面、是否暫停) 動畫的本質是快速切換大量圖片時在人腦中形成的具有連續性的畫面 構成動畫的最小單元: :幀或動畫幀 2、 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...