以 CSS 變數定義出文字與背景色,當畫面啟動時會先以預先定義的色彩為主。
以 JavaScript 透過 UI 的操作,針對 CSS 變數進行操作就可以達到整個主題色彩的切換。

程式碼如下:

關鍵程式碼:

  • bodytransition: background-color 0.3s;body 元素被更動,會以 transition (轉場效果) 以 0.3 秒的方式漸變處理畫面。
  • .handletransition: transform 0.3s;.handle 結構中的樣式 transform,當有執行時會以 transition (轉場效果) 以 0.3 秒的方式漸變處理畫面。
  • 變數 isDarkMode 是指定目前是否為暗黑模式,因為定義的預設值是 false,在判斷式 if 的部份才會需要以 ! 做反應處理。

完整範例

See the Pen Untitled by Jimmy_Wu (@Jimmy_Wu) on CodePen.