目錄
>包含絕對定位的環。 每個
塑形和動畫
控制,帶有負面延遲,以使動畫交錯。

最終觸摸和優化

首頁 web前端 css教學 CSS奧林匹克環

CSS奧林匹克環

Mar 08, 2025 pm 12:09 PM

CSS Olympic Rings

>本文重新審視了一個2020年的項目:動畫3D奧林匹克環。 原始的SCSS代碼雖然功能性,但缺乏現代效率。此更新的版本使用純CSS,利用三角函數和相對顏色語法,以清潔,更簡潔的代碼。 結果是一個更具性能和優雅的解決方案。

使用分層divs實現3D效果。每個戒指都包含16層,每個環都有略有不同的陰影,以產生照明效果。 層的大小和定位產生了三維環的幻覺。 元素組成(一個元素),每個元素包含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;
}
登入後複製
>動畫是使用

>屬性實現的。 每個戒指的動畫持續時間都由自定義屬性

控制,帶有負面延遲,以使動畫交錯。

最終觸摸和優化

>在.rings)會產生模糊的陰影,進一步增強3D效果。 最終的CSS是高度優化和重複使用的,展示了現代CSS功能的力量。 該代碼比原始SCSS版本要高得多和可維護。 >

以上是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

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

熱工具

記事本++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教學
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1266
29
C# 教程
1239
24
Google字體可變字體 Google字體可變字體 Apr 09, 2025 am 10:42 AM

我看到Google字體推出了新設計(Tweet)。與上一次大型重新設計相比,這感覺更加迭代。我幾乎無法分辨出區別

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 Apr 11, 2025 am 11:29 AM

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

HTML數據屬性指南 HTML數據屬性指南 Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

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

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

我們如何創建一個在SVG中生成格子呢模式的靜態站點 我們如何創建一個在SVG中生成格子呢模式的靜態站點 Apr 09, 2025 am 11:29 AM

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

如何在WordPress主題中構建VUE組件 如何在WordPress主題中構建VUE組件 Apr 11, 2025 am 11:03 AM

內聯式模板指令使我們能夠將豐富的VUE組件構建為對現有WordPress標記的逐步增強。

php是A-OK用於模板 php是A-OK用於模板 Apr 11, 2025 am 11:04 AM

PHP模板通常會因促進Subpar代碼而變得不良說唱,但這並不是這樣的情況。讓我們看一下PHP項目如何執行基本的

靜態表單提供商的比較 靜態表單提供商的比較 Apr 16, 2025 am 11:20 AM

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

See all articles