」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 讓每一秒都有一個主題! ⏰ 使用 @property 和 hsl()

讓每一秒都有一個主題! ⏰ 使用 @property 和 hsl()

發佈於2024-11-04
瀏覽:703

Make Every Second have a Theme! ⏰ using @property and hsl()

?介紹

您是否曾經想過創建一個不僅僅是報時的時鐘?如果每一秒都會帶來一個全新的主題呢?借助 CSS @property 和 hsl() 顏色操作的強大功能,您可以!在本文中,我將引導您完成一個動態且具有視覺吸引力的「主題時鐘」的創建過程,該時鐘每秒都會改變其顏色(又稱其主題),為每個時刻帶來新的生命! .


?️ 概念

「主題時鐘」背後的想法簡單而迷人:隨著時間的流逝,時鐘的外觀會改變。我們將利用 CSS 自訂屬性來動畫顏色的色調(嗯,這是以度為單位的角度)並每秒更新時鐘的主題(也每分鐘和每小時)。結果呢?一個無縫、不斷變化的時鐘,既迷人又實用。


?演示和程式碼

嗯,這是「主題時鐘」的完整代碼。我將對其進行分解,以了解每個部分如何對整體效果做出貢獻。

?分解代碼

1.CSS自訂屬性與@property:這個主題變換時鐘背後的魔力在於CSS自訂屬性和@property規則的使用。我們定義一個自訂屬性 --angle,它使用 hsl() 函數來控制時鐘顏色的色調。透過使用 @keyframes 規則對該屬性進行 60 秒的動畫處理,我們實現了連續的顏色過渡。

  • 自訂屬性--angle:控制hsl()顏色的色調,動態改變主題。並且還使自訂屬性可設定動畫,從而實現平滑過渡。
  • CSS @keyframes anim:此動畫在 60 秒內將色調值從 0 旋轉到 360,循環遍歷整個色譜。

2.動態主題切換:切換按鈕可讓使用者在淺色和深色主題之間切換。點擊按鈕會在 html 元素上切換深色類,從而改變時鐘的外觀。

  • 亮/暗模式切換:可以使用動態更新時鐘外觀的按鈕切換主題。
  • 容器旋轉動畫:主題變化時時鐘容器旋轉,加入微妙的過渡效果。

3.時鐘與時間更新:程式碼的 JavaScript 部分處理時鐘指標和數位時間顯示的更新。 setTime 函數每秒重新計算時針、分針和秒針的位置,同時也更新時間和日期顯示。

  • "scale" 功能:將目前時間轉換為對應鐘針旋轉的度數。

- 即時更新:時鐘指針和數位時間每秒更新以匹配當前時間。

?將所有部分組合在一起

透過結合 CSS 自訂屬性、hsl() 色彩操作和 @property 規則的強大功能,我們創建了一個時鐘,它不僅可以顯示時間,而且其外觀也會隨著每一秒的流逝而變化。這個專案就是一個很好的例子,說明如何使用 CSS 以最少的 JavaScript 建立互動式且具有視覺吸引力的 Web 元素。


按讚❤️,關注更多alishata128

版本聲明 本文轉載於:https://dev.to/alishata128/make-every-second-have-a-theme-using-property-and-hsl-4n55?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • 在C#中如何高效重複字符串字符用於縮進?
    在C#中如何高效重複字符串字符用於縮進?
    在基於項目的深度下固定字符串時,重複一個字符串以進行凹痕,很方便有效地有一種有效的方法來返回字符串重複指定的次數的字符串。使用指定的次數。 constructor 這將返回字符串“ -----”。 字符串凹痕= new String(' - ',depth); console.W...
    程式設計 發佈於2025-05-02
  • Java中如何使用觀察者模式實現自定義事件?
    Java中如何使用觀察者模式實現自定義事件?
    在Java 中創建自定義事件的自定義事件在許多編程場景中都是無關緊要的,使組件能夠基於特定的觸發器相互通信。本文旨在解決以下內容:問題語句我們如何在Java中實現自定義事件以促進基於特定事件的對象之間的交互,定義了管理訂閱者的類界面。 以下代碼片段演示瞭如何使用觀察者模式創建自定義事件: args...
    程式設計 發佈於2025-05-02
  • 為什麼儘管有效代碼,為什麼在PHP中捕獲輸入?
    為什麼儘管有效代碼,為什麼在PHP中捕獲輸入?
    在php ;?>" method="post">The intention is to capture the input from the text box and display it when the submit button is clicked.但是,輸出...
    程式設計 發佈於2025-05-02
  • 將圖片浮動到底部右側並環繞文字的技巧
    將圖片浮動到底部右側並環繞文字的技巧
    在Web設計中圍繞在Web設計中,有時可以將圖像浮動到頁面右下角,從而使文本圍繞它纏繞。這可以在有效地展示圖像的同時創建一個吸引人的視覺效果。 css位置在右下角,使用css float and clear properties: img { 浮點:對; ...
    程式設計 發佈於2025-05-02
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-05-02
  • Unity HoloLens資源加載指南
    Unity HoloLens資源加載指南
    [2 開發Hololens應用程序通常涉及從資源文件夾中加載文本,圖像或音頻等資產。 但是,訪問這些資產的方法在Unity編輯器和部署的Hololens應用程序之間有很大不同。 [2 在Unity編輯器中,您可以嘗試使用文件系統路徑加載資產,例如: 字符串basepath = applicatio...
    程式設計 發佈於2025-05-02
  • 解決Spring Security 4.1及以上版本CORS問題指南
    解決Spring Security 4.1及以上版本CORS問題指南
    彈簧安全性cors filter:故障排除常見問題 在將Spring Security集成到現有項目中時,您可能會遇到與CORS相關的錯誤,如果像“訪問Control-allo-allow-Origin”之類的標頭,則無法設置在響應中。為了解決此問題,您可以實現自定義過濾器,例如代碼段中的MyFi...
    程式設計 發佈於2025-05-02
  • 解決MySQL插入Emoji時出現的\\"字符串值錯誤\\"異常
    解決MySQL插入Emoji時出現的\\"字符串值錯誤\\"異常
    Resolving Incorrect String Value Exception When Inserting EmojiWhen attempting to insert a string containing emoji characters into a MySQL database us...
    程式設計 發佈於2025-05-02
  • 如何從PHP中的數組中提取隨機元素?
    如何從PHP中的數組中提取隨機元素?
    從陣列中的隨機選擇,可以輕鬆從數組中獲取隨機項目。考慮以下數組:; 從此數組中檢索一個隨機項目,利用array_rand( array_rand()函數從數組返回一個隨機鍵。通過將$項目數組索引使用此鍵,我們可以從數組中訪問一個隨機元素。這種方法為選擇隨機項目提供了一種直接且可靠的方法。
    程式設計 發佈於2025-05-02
  • 人臉檢測失敗原因及解決方案:Error -215
    人臉檢測失敗原因及解決方案:Error -215
    錯誤處理:解決“ error:( - 215)!empty()in Function openCv in Function MultSiscale中的“檢測”中的錯誤:在功能檢測中。”當Face Cascade分類器(即面部檢測至關重要的組件)未正確加載時,通常會出現此錯誤。 要解決此問題,必...
    程式設計 發佈於2025-05-02
  • 如何有效地選擇熊貓數據框中的列?
    如何有效地選擇熊貓數據框中的列?
    在處理數據操作任務時,在Pandas DataFrames 中選擇列時,選擇特定列的必要條件是必要的。在Pandas中,選擇列的各種選項。 選項1:使用列名 如果已知列索引,請使用ILOC函數選擇它們。請注意,python索引基於零。 df1 = df.iloc [:,0:2]#使用索引0和1 ...
    程式設計 發佈於2025-05-02
  • 在Ubuntu/linux上安裝mysql-python時,如何修復\“ mysql_config \”錯誤?
    在Ubuntu/linux上安裝mysql-python時,如何修復\“ mysql_config \”錯誤?
    mysql-python安裝錯誤:“ mysql_config找不到”“ 由於缺少MySQL開發庫而出現此錯誤。解決此問題,建議在Ubuntu上使用該分發的存儲庫。使用以下命令安裝Python-MysqldB: sudo apt-get安裝python-mysqldb sudo pip in...
    程式設計 發佈於2025-05-02
  • Python中何時用"try"而非"if"檢測變量值?
    Python中何時用"try"而非"if"檢測變量值?
    使用“ try“ vs.” if”來測試python 在python中的變量值,在某些情況下,您可能需要在處理之前檢查變量是否具有值。在使用“如果”或“ try”構建體之間決定。 “ if” constructs result = function() 如果結果: 對於結果: ...
    程式設計 發佈於2025-05-02

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3