製作僅CSS的裝載機是一個有意義的挑戰。令人著迷的無限動畫總是令人滿意的。 Codepen展示了各種各樣的技術,但是本文的重點是實現具有最小代碼的單元素加載程序。
我已經開發了超過500個單div
加載器,這個四部分系列共享了所使用的技術。我們將探討眾多示例,展示微妙的調整如何產生不同的結果以及代碼的簡潔程度。
單元素裝載機系列:
- 單元素加載器:旋轉器 -您在這裡
- 單元素加載程序:點
- 單元素加載程序:條
- 單元素加載程序:前進3D
第一篇文章創建了一個常見的加載器模式:旋轉欄。
方法
一種簡單的方法使用多個元素(在這種情況下為九個元素),每個元素在父母內代表一個bar。不透明度和轉換創造出旋轉效果。
但是,我的方法僅使用一個元素:
<div></div>
...和10個CSS聲明:
.loader { 寬度:150px; / *控制大小 */ 方面比例:1; 顯示:網格; 面具:錐形學位(來自22DEG,#0003,#000); 動畫:加載1S步驟(8)無限; } .loader, .loader:{ -_ g:線性級別(#17177C 0 0)50%; / *在這裡更新顏色 */ 背景: var( - _ g)/34%8%空間無重複, var(-_ g)/8%34%無重複空間; } .loader:{ 內容: ””; 變換:旋轉(45維格); } @keyframes load { to {變換:旋轉(1Turn); } }
代碼分解
最初,該代碼似乎很不尋常,但是比看起來要簡單。首先,我們定義元素的尺寸 - 150px正方形。無論調整大小如何, aspect-ratio
可以確保它保持正方形。
.loader { 寬度:150px; / *控制大小 */ 方面比例:1; / *保持正方形 */ }
對於CSS加載器,單個尺寸控制值是理想的。這是寬度;所有計算都是相對於它的。這可以輕鬆調整尺寸。
漸變創建條。這是最複雜的部分。一個梯度生成兩個條:
背景:線性級別(#17177C 0 0)50%/34%8%空間無重複;
該梯度使用一種顏色和兩種顏色止損,從而產生純色。尺寸寬34%,高8%(50%)。 space
關鍵字重複了梯度,創建了兩個條。
從規範中:
將圖像按照在背景定位區域內的頻率進行重複,而不會被剪切,然後將圖像間隔填充以填充該區域。第一個也是最後一個圖像觸及該區域的邊緣。
34%的寬度只能允許兩個條(3 34%> 100%),留下差距(100%-2 34%= 32%)。 space
將這些縫隙集中在集中。 33%至50%之間的寬度可確保至少兩個帶間距的條。
我們使用第二個梯度創建了另外兩個條,導致:
背景: 線性梯度(#17177C 0 0)50%/34%8%空間無重複, 線性級別(#17177C 0 0)50%/8%34%無重複空間;
A CSS變量優化了這一點:
-_ g:線性級別(#17177C 0 0)50%; / *在這裡更新顏色 */ 背景: var( - _ g)/34%8%空間無重複, var(-_ g)/8%34%無重複空間;
這產生了四個條。 CSS變量簡化了顏色更新。
.loader
元素及其::before
創建了四個條,總計八個。
.loader { 寬度:150px; / *控制大小 */ 方面比例:1; 顯示:網格; } .loader, .loader :: { -_ g:線性級別(#17177C 0 0)50%; / *在這裡更新顏色 */ 背景: var( - _ g)/34%8%空間無重複, var(-_ g)/8%34%無重複空間; } .loader :: { 內容: ””; 變換:旋轉(45維格); }
display: grid
確保偽元素覆蓋父母的區域,從而消除了對明確維度的需求。
將偽元素旋轉為45度元素,將其餘的棒旋轉。
不透明度控制
使用帶有conic-gradient
的CSS mask
實現了單桿離開褪色小徑的效果:
面具:錐形學位(來自22DEG,#0003,#000);
該梯度逐漸提高透明度。應用於裝載機,會產生褪色的棒幻覺。每個欄似乎由於掩蓋而逐漸消失,從而產生了不同不透明度的印象。
旋轉動畫
使用steps(8)
(其中8是條的數量)的階梯動畫創建旋轉:
.loader { 動畫:加載3S步驟(8)無限; } @keyframes load { 到{變換:旋轉(1Turn)} }
這完成了單元素,最小CSS加載器。尺寸和顏色很容易控制。添加A ::after
可以擴展到十二個條,並進行較小的代碼調整。使用不同的梯度和不透明度技術,也可以實現替代實現。
替代形狀:點
使用徑向梯度代替線性梯度,創建基於DOT的加載器是相似的。掩蓋不透明度的核心概念保持不變,但形狀是圓圈。 Safari兼容性可能需要調整梯度。
進一步的例子
使用各種技術(梯度,面具,偽元素)顯示了其他幾個旋轉器加載器。這些是理解不同方法的練習。
結論
使用一個div
,梯度,偽元素和變量,可以創建各種旋轉裝載機。這些示例在根本上是相似的,並且進行了較小的修改。這僅僅是開始。該系列將探索更高級的CSS加載器技術。
單元素裝載機系列:
- 單元素加載器:旋轉器 -您在這裡
- 單元素加載程序:點
- 單元素加載程序:條
- 單元素加載程序:前進3D
以上是單元素加載器:旋轉器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

具有CSS的自定義光標很棒,但是我們可以將JavaScript提升到一個新的水平。使用JavaScript,我們可以在光標狀態之間過渡,將動態文本放置在光標中,應用複雜的動畫並應用過濾器。

互動CSS動畫和元素相互啟動的元素在2025年似乎更合理。雖然不需要在CSS中實施乒乓球,但CSS的靈活性和力量的增加,可以懷疑Lee&Aver Lee有一天會成為一種

有關利用CSS背景濾波器屬性來樣式用戶界面的提示和技巧。您將學習如何在多個元素之間進行背景過濾器,並將它們與其他CSS圖形效果集成在一起以創建精心設計的設計。

好吧,事實證明,SVG的內置動畫功能從未按計劃進行棄用。當然,CSS和JavaScript具有承載負載的能力,但是很高興知道Smil並沒有像以前那樣死在水中

是的,讓#039;跳上文字包裝:Safari Technology Preview In Pretty Landing!但是請注意,它與在鉻瀏覽器中的工作方式不同。

此CSS-tricks更新了,重點介紹了年鑑,最近的播客出現,新的CSS計數器指南以及增加了幾位新作者,這些新作者貢獻了有價值的內容。

在大多數情況下,人們展示了@Apply的@Apply功能,其中包括Tailwind的單個property實用程序之一(會改變單個CSS聲明)。當以這種方式展示時,@Apply聽起來似乎很有希望。如此明顯


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

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

Atom編輯器mac版下載
最受歡迎的的開源編輯器

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