CSS奧林匹克環
>本文重新審視了一個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>
--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));
}
}
塑形和動畫
--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中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢
