主要原理是利用css變數設定顏色,用js動態修改變數,使顏色變化,相容性如下;
實現換膚之前先要了解一下偽類選擇器:root
,還有css的var()
函式和setproperty()
函式
:root
是乙個偽類,表示文件根元素,非ie及ie8及以上瀏覽器都支援,在:root
中宣告相當於全域性屬性,只要當前頁面引用了:root
所在的檔案,都可以使用cssvar()
函式來引用;
語法
// 自定義屬性的名稱,必需以 -- 開頭
:root
var()
函式,可以代替元素中,任何屬性中的值的任何部分;var()
函式不能作為屬性名、選擇器或者其他除了屬性值之外的值,這樣做通常會產生無效的語法或者乙個沒有關聯到變數的值;
語法
// var(--name,value)
// --name,自定義屬性的名稱,必需以 -- 開頭; value,可選,備用值,在屬性不存在的時候使用;
.box
setproperty()
方法用於設定乙個新的 css 屬性,同時也可以修改 css 宣告塊中已存在的屬性,相容性如下;
語法
let box = document.
queryselector
("#box"
).value;
document.documentelement.style.
setproperty
("--main_bg"
,box)
;
<
!doctype html>
"en"
>
"utf-8"
>
"viewport" content=
"width=device-width, initial-scale=1.0"
>
換膚<
/title>
* #head
#btn
#ipt
:root
.color
<
/style>
<
/head>
"head"
class
="color"
>
<
/div>
"body"
>
"text" id=
"ipt" placeholder=
"請輸入顏色值"
>
"btn"
class
="color" onclick=
"changebg()"
>變色<
/div>
<
/div>
function
changebg()
<
/script>
<
/body>
<
/html>
往期文章
js實用方法dataurl轉為file、url轉base64
個人主頁
自定義網頁字型
在自定義這個部落格主題過程中使用了某些特定字型,這些字型並非作業系統的內建字型,這樣使用者在瀏覽頁面的時就有可能看不到設計時效果,導致頁面顯示很醜陋.一般的解決辦法是把文字型成,但是有點麻煩,不適合我的樣的懶人,而且做成也不方便修改.還有一種是通過css樣式定義,我選擇了這種,因為它簡單易用.css...
網頁模板的自定義
拿到乙個網頁模板,如何自定義自己成自己的 或部落格。php為字尾名的是php檔案,html檔案是html檔案 全選 的 新建乙個html的檔案。命名相同,字尾名不同。如index.php改為index.html。複製到新建檔案中 找到a標籤,更改跳轉路徑 如 把模板複製到d phpstudy php...
Java簡單實現自定義HashMap
陣列的特點是 定址容易,插入和刪除困難 而鍊錶的特點是 定址困難,插入和刪除容易。要綜合兩者的特性,就有了雜湊表。雜湊表有多種不同的實現方法,最經典的一種方法 拉鍊法。雜湊表可以理解為鍊錶的陣列。主幹為陣列,陣列的每乙個成員是鍊錶。該資料結構所容納的所有元素均包含乙個指標,用於元素間的鏈結。我們根據...