>本文重新審視了一個2020年的項目:動畫3D奧林匹克環。 原始的SCSS代碼雖然功能性,但缺乏現代效率。此更新的版本使用純CSS,利用三角函數和相對顏色語法,以清潔,更簡潔的代碼。 結果是一個更具性能和優雅的解決方案。
使用分層divs實現3D效果。每個戒指都包含16層,每個環都有略有不同的陰影,以產生照明效果。 層的大小和定位產生了三維環的幻覺。
元素使用自定義屬性
>創建圓形。 自定義屬性
使用相對顏色語法可以實現 和 >在<div>(從1到16不等)通過CSS控制其樣式。 EMMET可以簡化創建重複的HTML結構。 這是一個片段:<code><i></i>
<i></i>
--i
屬性用作層,大小和顏色的CSS計算中的乘數。
<div class="rings">
<div class="ring ring__1">
<i style="--i: 1;"></i>
<i style="--i: 2;"></i>
<!-- ... more layers ... -->
<i style="--i: 16;"></i>
</div>
<!-- ... more rings ... -->
</div>
> CSS樣式--i
>包含絕對定位的環。 每個
絕對是定位的,其兒童繼承了絕對定位。 .rings
設置基本顏色。 position: relative
.ring
<i></i>
屬性設置為負值,將圖層定位在border-radius: 50%
>元素之外,從而有效地定義了其大小。 使用--ringColor
進行計算的自定義屬性,沿z軸定位圖層以創建深度:inset
陰影。根據.ring
計算的自定義屬性,修改了--translateZ
>的輕度:--i
.ring {
position: absolute;
--ringColor: #0085c7;
i {
position: absolute;
inset: -100px;
border-radius: 50%;
--translateZ: calc(var(--i) * 2px);
transform: rotateY(-45deg) translateZ(var(--translateZ));
}
}
>這種動態變暗的層向後變暗,從而增強了3D效果。 添加輪廓以確保在環的內邊緣和外部邊緣可見陰影。 塑形和動畫
--light
使用--i
函數計算的自定義屬性確定邊框厚度,創建環的圓形形狀:--ringColor
i {
--light: calc(var(--i) / 16);
--layerColor: rgb(from var(--ringColor) calc(r * var(--light)) calc(g * var(--light)) calc(b * var(--light)));
border: var(--size) var(--layerColor) solid;
outline: var(--size) var(--layerColor) solid;
}
>動畫是使用控制,帶有負面延遲,以使動畫交錯。
最終觸摸和優化
以上是CSS奧林匹克環的詳細內容。更多資訊請關注PHP中文網其他相關文章!

重構自己的代碼看起來是什麼樣的?約翰·瑞亞(John Rhea)挑選了他寫的一個舊的CSS動畫,並介紹了優化它的思維過程。

CSSanimationsarenotinherentlyhardbutrequirepracticeandunderstandingofCSSpropertiesandtimingfunctions.1)Startwithsimpleanimationslikescalingabuttononhoverusingkeyframes.2)Useeasingfunctionslikecubic-bezierfornaturaleffects,suchasabounceanimation.3)For

@keyframesispopularduetoitsversatoryand and powerincreatingsmoothcsssanimations.keytricksinclude:1)definingsmoothtransitionsbetnestates,2)使用AnimatingMultatingMultationMultationProperPertiessimultane,3)使用使用4)使用BombingeNtibalibility,4)使用CombanningWiThjavoFofofofoftofofo

CSSCOUNTERSAREDOMANAGEAUTOMANAMBERINGINWEBDESIGNS.1)他們可以使用forterablesofcontents,ListItems,and customnumbering.2)AdvancedsincludenestednumberingSystems.3)挑戰挑戰InclassINCludeBrowsEccerCerceribaliblesibility andperformiballibility andperformissises.4)創造性

使用滾動陰影,尤其是對於移動設備,是克里斯以前涵蓋的一個微妙的UX。傑夫(Geoff)涵蓋了一種使用動畫限制屬性的新方法。這是另一種方式。


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

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

SublimeText3漢化版
中文版,非常好用

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

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中