目錄
Cuboid:您的基本構建塊
場景建設:建立基礎
用樣板和哈巴狗簡化開發
利用CSS變量的力量
與DAT.GUI進行調試:實時控制和檢查
居中和定位:精確和組織
美學:改進和視覺吸引力
深度的幻象:煙與鏡子技術
解決不規則形狀:解決創意問題
Z戰鬥:解決重疊元素衝突
結論:啟動您的3D CSS旅程
首頁 web前端 css教學 3D中的CSS:學會在多維數據集而不是盒子中思考

3D中的CSS:學會在多維數據集而不是盒子中思考

Mar 31, 2025 am 09:43 AM

3D中的CSS:學會在多維數據集而不是盒子中思考

我進入CSS的旅程不是您典型的前端開發人員的故事。我最初是Java程序員,我的最初CSS體驗僅限於Visual Studio中的顏色選擇。

我對前端開發以及隨後的CSS的熱情稍後引發,與CSS3的興起相吻合。 3D和動畫的魅力吸引了我,比佈局或色彩理論更深刻地塑造了我對CSS的理解。

花了大量時間製作3D CSS效果,我已經完善了工作流程。本文分享了我當前的方法,提供了提高3D CSS技能的技巧和技巧。

Cuboid:您的基本構建塊

對於大多數3D創作,Cuboid用作主要元素。儘管更複雜的形狀是可以實現的,但他們要求更加關注細節。曲線特別是目前的挑戰,儘管存在解決方案的技術(稍後討論)。

創建基本的立方體不涵蓋;有關指導,請參閱Ana Tudor的出色帖子或此屏幕截圖。本質上,父元素封裝了cuboid,其中包含六個代表其面部的子元素。至關重要的是, transform-style: preserve-3d;必須應用於全球理想的應用:

 * {轉換風格:Preserve-3d; }
登入後複製

對於復雜的3D模型,將整個場景視為立方體的組裝。考慮一本3D書:四個立方體 - 每個蓋子,一個用於脊柱,一本用於頁面 - 背景圖像增加了修飾觸感。

場景建設:建立基礎

將長方體視為樂高積木。簡化過程涉及創建“平面”元素,這是您3D模型所在的基礎表面。這簡化了旋轉和移動。

我首選的方法首先是沿X和Y軸旋轉平面,然後用rotateX(90deg)將其扁平化。隨後,添加新的立方體涉及將它們放置在平面元件中,使用position: absolute用於精確定位。

 。飛機 {
  變換:rotatex(calc(-var(-otate-x,-24) * 1deg))rotatey(calc(var( -  rotate-y,-24) * 1deg))rotatex(90deg)translate3d(0,0,0,0);
}
登入後複製

用樣板和哈巴狗簡化開發

創建眾多立方體的重複性需要一種簡化的方法。我利用Pug(一種模板發動機)通過混合蛋白生成長方體結構。 (如果需要的話,可以進行快速的哈巴狗介紹。)

使用哈巴狗的典型場景結構看起來像這樣:

 Mixin Cuboid(className)
  .cuboid(class = className)
    // cuboid的每個臉的六個div元素...
登入後複製

我的Cuboid類的相應CSS是:

 .cuboid {
  // ...(CSS用於立方樣式)...
}
登入後複製

...(CSS規則針對Cuboid的每個臉)...

利用CSS變量的力量

CSS變量(自定義屬性)的廣泛使用可顯著提高效率。我的立方體是由變量驅動的:

  • --width :飛機上的立方寬度
  • --height :飛機上的長方體高度
  • --depth :立方深度
  • --x :x在飛機上的位置
  • --y :y在飛機上的位置

vmin主要用於響應尺寸。飛機鋪設平坦,允許直觀的高度,寬度和深度參考。

與DAT.GUI進行調試:實時控制和檢查

方便的DAT.GUI庫有助於實時調試。它允許在運行時修改CSS變量,從而輕鬆調整旋轉,位置和尺寸。使用DAT旋轉飛機。 Gui有助於可視化空間關係。

居中和定位:精確和組織

每個立方有意居中,在平面上方的一半上方和一半以上。這簡化了動畫,尤其是z軸旋轉。對於復雜的場景,子平台增強了組織,可以獨立地操縱部分。

美學:改進和視覺吸引力

結構完成後,重點轉移到美學。 CSS變量對顏色和陰影的一致使用會增強視覺和諧。背景圖像和偽元素增加了細節和紋理。 brightness()等過濾器可以巧妙地調整面部的陰影。

深度的幻象:煙與鏡子技術

有時,“人造” 3D效應會產生令人信服的深度,而元素較少。策略性定位和旋轉的平坦元素可以模仿3D形狀。

解決不規則形狀:解決創意問題

不規則形狀需要逐案溶液。多邊形可以近似曲線,而透視技巧可以產生深度的幻想。

Z戰鬥:解決重疊元素衝突

Z-Righting(在其中重疊的元素閃爍)通過仔細的DOM訂購和輕微的位置偏移來解決,以防止衝突。

結論:啟動您的3D CSS旅程

接受3D CSS的挑戰,嘗試不同的技術,並分享您的創作。請記住,耐心和創造力是這項有益的努力的關鍵要素。

以上是3D中的CSS:學會在多維數據集而不是盒子中思考的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1327
25
PHP教程
1273
29
C# 教程
1253
24
靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

讓我們嘗試在這裡造成一個術語:“靜態表單提供商”。你帶上html

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom 每周平台新聞:HTML加載屬性,主要的ARIA規格以及從iframe轉移到Shadow dom Apr 17, 2025 am 10:55 AM

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

與部分元素的交易 與部分元素的交易 Apr 12, 2025 am 11:39 AM

同一天發表了兩篇文章:

我們如何標記Google字體並創建Goofonts.com 我們如何標記Google字體並創建Goofonts.com Apr 12, 2025 pm 12:02 PM

Goofonts是由開發人員和設計師丈夫簽名的附帶項目,它們都是版式的忠實擁護者。我們一直在標記Google

帶有HTML對話框元素的一些動手 帶有HTML對話框元素的一些動手 Apr 16, 2025 am 11:33 AM

這是我第一次查看HTML元素。我已經意識到了一段時間,但是尚未將其旋轉。它很酷,

多腳步滑塊:一般案例 多腳步滑塊:一般案例 Apr 12, 2025 am 10:52 AM

這個兩部分系列的第一部分詳細介紹了我們如何獲得兩次跑步的滑塊。現在,我們&#039;

'訂閱播客”鏈接應在哪裡? '訂閱播客”鏈接應在哪裡? Apr 16, 2025 pm 12:04 PM

有一段時間,iTunes是播客中的大狗,因此,如果您將“訂閱播客”鏈接到喜歡:

See all articles