簡單的JS CSS實現網頁自定義換膚

2021-10-09 13:40:18 字數 1975 閱讀 9706

主要原理是利用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

陣列的特點是 定址容易,插入和刪除困難 而鍊錶的特點是 定址困難,插入和刪除容易。要綜合兩者的特性,就有了雜湊表。雜湊表有多種不同的實現方法,最經典的一種方法 拉鍊法。雜湊表可以理解為鍊錶的陣列。主幹為陣列,陣列的每乙個成員是鍊錶。該資料結構所容納的所有元素均包含乙個指標,用於元素間的鏈結。我們根據...