前端CSS一鍵換膚是一種實現網頁背景、文字顏色等風格變化的功能,可以讓用戶在不同場景下使用網站時選擇自己喜歡的皮膚。
接下來我們將介紹如何使用前端CSS一鍵換膚:
/*定義變量*/ :root{ --bg-color: #fafafa; --text-color: #333; --link-color: #00b4ff; } /*獲取用戶選擇的樣式*/ var userChoice = localStorage.getItem('AppSkin') || 'skin-1'; /*給body添加class*/ document.body.classList.add(userChoice); /*根據用戶選擇設置變量值*/ if(userChoice === 'skin-1'){ document.documentElement.style.setProperty('--bg-color', '#fafafa'); document.documentElement.style.setProperty('--text-color', '#333'); document.documentElement.style.setProperty('--link-color', '#00b4ff'); } else if (userChoice === 'skin-2') { document.documentElement.style.setProperty('--bg-color', '#222'); document.documentElement.style.setProperty('--text-color', '#fff'); document.documentElement.style.setProperty('--link-color', '#00b4ff'); } /*修改用戶更改樣式*/ function changeSkin(choice){ localStorage.setItem('AppSkin', choice); document.body.classList.remove('skin-1'); document.body.classList.remove('skin-2'); document.body.classList.add(choice); }
以上代碼中,我們定義了三個變量:背景色、文字顏色和鏈接顏色,然后在頁面加載后獲取用戶的選擇,并根據選擇的皮膚對相關變量進行賦值。
當用戶點擊頁面上的換膚按鈕時,我們通過localStorage存儲用戶選擇的皮膚,并將body的class修改為用戶選擇的皮膚名,從而實現頁面樣式的更改。
需要注意的是,在CSS中定義變量時需要使用:root偽類,并在JS中通過document.documentElement.style.setProperty()方法動態地修改變量值。