搜尋
首頁web前端css教學巧用距離、角度及光影製作酷炫的 3D 文字特效

如何利用 CSS 實現3D立體的數字?以下這篇文章就帶大家巧用視覺障眼法,建構不一樣的 3D 文字特效,希望對大家有幫助!

巧用距離、角度及光影製作酷炫的 3D 文字特效

最近群組有這樣一個有趣的問題,大家在討論,使用CSS 3D 能否實現如下所示的效果:

這裡的核心困難在於,如何利用CSS 實現一個立體的數字? CSS 能做到嗎?

不是特別好實現,但是,如果僅僅只是在某個角度內,利用視覺障眼法,我們還是可以比較完美的還原上述效果的。

利用距離、角度及光影建構不一樣的 3D 效果

這是一種很有趣的技巧,當然,製作的過程需要比較多的調試。

合理的利用距離、角度及光影建構出不一樣的 3D 效果。看看下面這個例子,只是簡單是設定了三層字符,讓它們在 Z 軸上相距一定的距離。 【推薦學習:css影片教學

簡單的偽代碼如下:

<div>
  <span class=&#39;C&#39;>C</span>
  <span class=&#39;S&#39;>S</span>
  <span class=&#39;S&#39;>S</span>
  <span></span>
  <span class=&#39;3&#39;>3</span>
  <span class=&#39;D&#39;>D</span>
</div>
$bright : #AFA695;
$gold : #867862;
$dark : #746853;
$duration : 10s;
div {
	perspective: 2000px;
	transform-style: preserve-3d;
	animation: fade $duration infinite;
}
span {
	transform-style: preserve-3d;
	transform: rotateY(25deg);
	animation: rotate $duration infinite ease-in;
	
	&:after, &:before {
		content: attr(class);
		color: $gold;
		z-index: -1;
		animation: shadow $duration infinite;
	}
	&:after{
		transform: translateZ(-16px);
	}
	&:before {
		transform: translateZ(-8px);
	}
}
@keyframes fade {
	// 透明度变化
}
@keyframes rotate {
	// 字体旋转
}
@keyframes shadow {
       // 字体颜色变化
}

簡單捋一下,上述程式碼的核心就是:

  • #父元素、子元素設定transform-style: preserve-3d

  • #用span 元素的兩個偽元素複製兩個相同的字,利用translateZ() 讓它們在Z 軸間隔一定距離

  • 添加簡單的旋轉、透明度、字體顏色變化

可以得到這樣一種類似電影開片的標題3D 動畫,其實只有3 層元素,但是由於角度恰當,視覺上的銜接比較完美,看上去就非常的3D。

巧用距離、角度及光影製作酷炫的 3D 文字特效

為什麼上面說需要合理的利用距離、角度及光影呢?

還是同一個動畫效果,如果動畫的初始旋轉角度設定的稍微大一點,整個效果就會穿幫:

可以看到,在前幾幀,能看出來簡單的分層結構。又或者,簡單調整一下perspective,設定父容器的perspective2000px 改為500px,穿幫效果更為明顯:

也就是說,在恰當的距離,合適的角度,我們僅僅透過很少的元素,就能在視覺上形成比較不錯的3D 效果。

上述的完整程式碼,你可以猛擊這裡:CSS 靈感-- 3D 文字出場動畫

基於,這個技巧,我們簡單的改造一下,我們首先取代一下文字效果:

<div>
  <span class=&#39;2&#39;>2</span>
  <span class=&#39;0&#39;>0</span>
  <span class=&#39;2&#39;>2</span>
  <span class=&#39;3&#39;>3</span>
</div>

這樣,我們就可以得到這樣一個效果:

Wow,有點那個意思了。接下來,我們需要換上喜慶的文字效果。首先,隨便在網路上找一找煙火Gif 圖,也許是這樣:

#我們透過background-clip: text,給3 層文字都加上類似這個效果,核心偽代碼如下:

span {
	position: relative;
	transform-style: preserve-3d;
	color: transparent;
	background: url(xxx.gif);
	background-clip: text;
	
	&:after, &:before {
		position: absolute;
		content: attr(class);
		color: transparent;
		background: url(xxx.gif);
	        background-clip: text;
	}
	
	&:before {
		transform: translateZ(-12px);
	}
	&:after {
		transform: translateZ(-6px);
	}
}

這樣,我們就得到了帶有煙火效果的文字,以及,一點3D 效果:

還剩下最後一步,倒影效果怎麼做呢?

方法有很多種,比較方便的是使用 webkit-box-reflect 元素。只需要一行程式碼即可:

div {
    //...
    -webkit-box-reflect: below -6vw linear-gradient(transparent 20%, rgba(255,255,255, .6));
}

當然,如果對兩個偽元素產生的字所形成的3D 文字視覺上的厚度不滿意,也可以同步去調整兩個偽元素的transform : translateZ(-6px) 的值,經過一番調整後,我們就簡單的複刻瞭如題圖所示的2023 3D 文字動畫效果:

巧用距離、角度及光影製作酷炫的 3D 文字特效

#完整的程式碼,你可以戳這裡:

#CodePen Demo -- CSS 3D 2023

原文網址:https://juejin.cn/post/7184250130004967485

作者:ChokCoco

#(學習影片分享:web前端

以上是巧用距離、角度及光影製作酷炫的 3D 文字特效的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除
'訂閱播客”鏈接應在哪裡?'訂閱播客”鏈接應在哪裡?Apr 16, 2025 pm 12:04 PM

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

瀏覽器引擎多樣性瀏覽器引擎多樣性Apr 16, 2025 pm 12:02 PM

當他們在2013年去Chrome時,我們失去了歌劇。與Edge今年早些時候也進行了同樣的交易。邁克·泰勒(Mike Taylor)稱這些變化為“減少

網絡共享的UX注意事項網絡共享的UX注意事項Apr 16, 2025 am 11:59 AM

從垃圾點擊誘餌網站到大多數出版物的最多,共享按鈕長期以來一直無處不在。然而,這些

每周平台新聞:Apple部署網絡組件,漸進的HTML渲染,自託管關鍵資源每周平台新聞:Apple部署網絡組件,漸進的HTML渲染,自託管關鍵資源Apr 16, 2025 am 11:55 AM

在本週的綜述中,Apple進入Web組件,Instagram如何插入腳本以及一些思考的食物,以進行自託管關鍵資源。

git Pathspecs以及如何使用它們git Pathspecs以及如何使用它們Apr 16, 2025 am 11:53 AM

當我查看GIT命令的文檔時,我注意到其中許多人都有選擇。我最初以為這只是一個

產品圖像的彩色拾取器產品圖像的彩色拾取器Apr 16, 2025 am 11:49 AM

聽起來有點像一個困難的問題,不是嗎?我們經常沒有成千上萬種顏色的產品鏡頭,以便我們可以隨身攜帶。我們也不是

黑暗模式與React和Themeprovider切換黑暗模式與React和Themeprovider切換Apr 16, 2025 am 11:46 AM

我喜歡網站具有“暗模式”選項時。黑暗模式使我更容易閱讀網頁,並幫助我的眼睛更放鬆。許多網站,包括

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

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

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境