国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

通過CSS變量修改樣式的方法示例

2024-07-11 08:59:50
字體:
供稿:網(wǎng)友

問題

js怎么去修改css偽類樣式呢?但是js并沒有偽類選擇器,那么該怎么辦呢?網(wǎng)上有不少方法,比如通過切換元素的類、在style中動態(tài)插入新的樣式等。

那么這里再來一種方法,設(shè)置css變量(var),通過js去改變這個變量來實現(xiàn)。

示例:改變div的hover背景色

<!-- css --><style type="text/css">    :root {        --divHoverColor: red;    }    div {        width: 100px;        height: 100px;        background: bisque;    }    div:hover {        background: var(--divHoverColor);    }</style><!-- html --><div onClick="onDivClick('green')"/><!-- js --><script type="text/javascript">    function onDivClick(value){        document.documentElement.style.setProperty('--divHoverColor', value);    }</script>

那么,來認識下css variable吧

1. 基本用法

局部變量

div {    --masterColor: red;    background: var(--masterColor);}

全局變量

/* 對于HTML來說,:root 表示 <html> 元素 */:root {    --masterColor: red;}div {    background: var(--masterColor);}

2. 語法

var( <custom-property-name> [, <declaration-value> ]? )

<custom-property-name> : 自定義屬性名

<declaration-value> : 聲明值(fallback value)

示例:

div {    /*    --masterColor未定義,所以背景色使用red     它可以通過逗號分隔,定義多個聲明值,var(--masterColor, red, green)    */    background: var(--masterColor, red);}

變量可以通過var()進行引用

示例:

div {    --masterColor: red;    --bgColor: var(--masterColor)}

注意:屬性名是不能使用變量的

錯誤示例:

div {    --bg: background;    var(--bg): red;}

3. 瀏覽器支持

Can I use 

使用@support檢測

@supports ( (--masterColor: red)) {  /* supported */}@supports ( not (--masterColor: red)) {  /* not supported */}

使用JS檢測

const isSupported = window.CSS && window.CSS.supports     && window.CSS.supports('--masterColor', 'red');if (isSupported) {  /* supported */} else {  /* not supported */}

參考

MDN
CSS Variable 規(guī)范

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 秭归县| 隆子县| 沐川县| 景泰县| 建瓯市| 兴安县| 铅山县| 京山县| 怀安县| 富民县| 准格尔旗| 夏津县| 榆中县| 太原市| 黎城县| 新余市| 沂源县| 南陵县| 迁安市| 鄯善县| 桃园市| 揭东县| 军事| 祁东县| 巨鹿县| 兴国县| 独山县| 海兴县| 阿拉善左旗| 且末县| 西畴县| 峨边| 昌黎县| 郎溪县| 浠水县| 巴林左旗| 张家口市| 天长市| 云霄县| 天长市| 崇礼县|