亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

目錄
了解 CSS 自定義屬性
使用 JavaScript 獲取 CSS 變量
使用 JavaScript 設置 CSS 變量
實際用例
首頁 web前端 js教程 如何使用 JavaScript 獲取和設置 CSS 自定義屬性(變量)

如何使用 JavaScript 獲取和設置 CSS 自定義屬性(變量)

Oct 12, 2025 am 05:08 AM

使用 getPropertyValue() 讀取并使用 setProperty() 更新 JavaScript 中的 CSS 自定義屬性。 1. CSS中使用--prefix定義變量,如--main-color: blue; 2. 通過 getComputedStyle(element).getPropertyValue('--var-name'); 訪問它們3. 使用 element.style.setProperty('--var-name', 'new-value'); 修改它們通常在全局范圍內(nèi)的 document.documentElement 上;更改動態(tài)地反映在整個 UI 中,從而實現(xiàn)主題切換或響應式設計調(diào)整等功能。

如何使用 JavaScript 獲取和設置 CSS 自定義屬性(變量)

要在 JavaScript 中使用 CSS 自定義屬性(也稱為 CSS 變量),您可以使用標準 DOM 方法通過style屬性和getComputedStyle()方法獲取和設置樣式。以下是如何清晰有效地做到這一點。

了解 CSS 自定義屬性

CSS 自定義屬性使用雙破折號前綴定義,例如--main-color: blue; 。它們通常設置在 CSS 規(guī)則塊中,并使用特定方法通過 JavaScript 進行訪問。

CSS 示例:

:根 {
--主顏色:#007bff;
--字體大?。?6px;
}

使用 JavaScript 獲取 CSS 變量

要檢索 CSS 變量的值,請在元素上使用getCompulatedStyle()并調(diào)用getPropertyValue()

  • 該元素不需要直接應用變量——如果它是全局定義的(例如,在:root上),它仍然可以訪問。
  • 您必須完全按照定義包含變量名稱,包括兩個破折號。

例子:

const root = getComputedStyle(document.documentElement);
const mainColor = root.getPropertyValue('--main-color').trim();
控制臺.log(mainColor); //“#007bff”

您還可以從繼承或定義它的任何元素獲取該變量:

const element = document.getElementById('myElement');
const fontSize = getCompulatedStyle(element).getPropertyValue('--font-size');

使用 JavaScript 設置 CSS 變量

要更新 CSS 變量,請對元素的樣式對象使用setProperty()方法。

  • 最佳實踐是在document.documentElement (表示元素)上設置變量,因為大多數(shù)變量是在:root上定義的。
  • setProperty()將變量名稱和新值作為字符串。

例子:

document.documentElement.style.setProperty('--main-color', 'red');

此更改將在使用var(--main-color) 的地方全局應用。

您還可以通過將變量設置為空字符串或使用removeProperty()來刪除變量:

document.documentElement.style.removeProperty('--main-color');

實際用例

使用 JavaScript 的 CSS 變量非常適合:

  • 主題切換(亮/暗模式)
  • 根據(jù)用戶輸入進行動態(tài) UI 調(diào)整
  • 超越媒體查詢的響應行為

示例:切換暗模式

函數(shù)切換DarkMode() {
if (document.documentElement.hasAttribute('data-dark')) {
document.documentElement.removeAttribute('data-dark');
document.documentElement.style.setProperty('--bg-color', 'white');
} 別的 {
document.documentElement.setAttribute('data-dark', '');
document.documentElement.style.setProperty('--bg-color', 'black');
}
}

基本上只需使用getPropertyValue()來讀取并使用setProperty()來更新 - 簡單而強大。

以上是如何使用 JavaScript 獲取和設置 CSS 自定義屬性(變量)的詳細內(nèi)容。更多信息請關注PHP中文網(wǎng)其他相關文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權歸原作者所有,本站不承擔相應法律責任。如您發(fā)現(xiàn)有涉嫌抄襲侵權的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅動的應用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Stock Market GPT

Stock Market GPT

人工智能驅動投資研究,做出更明智的決策

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

熱門話題

JavaScript實現(xiàn)點擊圖片切換效果:專業(yè)教程 JavaScript實現(xiàn)點擊圖片切換效果:專業(yè)教程 Sep 18, 2025 pm 01:03 PM

本文將介紹如何使用JavaScript實現(xiàn)點擊圖片切換的效果。核心思路是利用HTML5的data-*屬性存儲備用圖片路徑,并通過JavaScript監(jiān)聽點擊事件,動態(tài)切換src屬性,從而實現(xiàn)圖片切換。本文將提供詳細的代碼示例和解釋,幫助你理解和掌握這種常用的交互效果。

如何使用JavaScript中的GeOlocation API獲取用戶的位置? 如何使用JavaScript中的GeOlocation API獲取用戶的位置? Sep 21, 2025 am 06:19 AM

首先檢查瀏覽器是否支持GeolocationAPI,若支持則調(diào)用getCurrentPosition()獲取用戶當前位置坐標,并通過成功回調(diào)獲取緯度和經(jīng)度值,同時提供錯誤回調(diào)處理權限被拒、位置不可用或超時等異常,還可傳入配置選項以啟用高精度、設置超時時間和緩存有效期,整個過程需用戶授權并做好相應錯誤處理。

如何在JavaScript中使用setInterval創(chuàng)建重復間隔 如何在JavaScript中使用setInterval創(chuàng)建重復間隔 Sep 21, 2025 am 05:31 AM

要創(chuàng)建JavaScript中的重復間隔,需使用setInterval()函數(shù),它會以指定毫秒數(shù)為間隔重復執(zhí)行函數(shù)或代碼塊,例如setInterval(()=>{console.log("每2秒執(zhí)行一次");},2000)會每隔2秒輸出一次消息,直到通過clearInterval(intervalId)清除,實際應用中可用于更新時鐘、輪詢服務器等場景,但需注意最小延遲限制、函數(shù)執(zhí)行時間影響,并在不再需要時及時清除間隔以避免內(nèi)存泄漏,特別是在組件卸載或頁面關閉前應清理,確保

NUXT 3組成API解釋了 NUXT 3組成API解釋了 Sep 20, 2025 am 03:00 AM

Nuxt3的CompositionAPI核心用法包括:1.definePageMeta用于定義頁面元信息,如標題、布局和中間件,需在中直接調(diào)用,不可置于條件語句中;2.useHead用于管理頁面頭部標簽,支持靜態(tài)和響應式更新,需與definePageMeta配合實現(xiàn)SEO優(yōu)化;3.useAsyncData用于安全地獲取異步數(shù)據(jù),自動處理loading和error狀態(tài),支持服務端和客戶端數(shù)據(jù)獲取控制;4.useFetch是useAsyncData與$fetch的封裝,自動推斷請求key,避免重復請

JavaScript中數(shù)字格式化:使用toFixed()方法保留固定小數(shù)位 JavaScript中數(shù)字格式化:使用toFixed()方法保留固定小數(shù)位 Sep 16, 2025 am 11:57 AM

本教程詳細講解如何在JavaScript中將數(shù)字格式化為固定兩位小數(shù)的字符串,即使是整數(shù)也能顯示為"#.00"的形式。我們將重點介紹Number.prototype.toFixed()方法的使用,包括其語法、功能、示例代碼以及需要注意的關鍵點,如其返回類型始終為字符串。

如何將文本復制到JavaScript中的剪貼板? 如何將文本復制到JavaScript中的剪貼板? Sep 18, 2025 am 03:50 AM

使用ClipboardAPI的writeText方法可復制文本到剪貼板,需在安全上下文和用戶交互中調(diào)用,支持現(xiàn)代瀏覽器,舊版可用execCommand降級處理。

如何在JavaScript中創(chuàng)建多行字符串? 如何在JavaScript中創(chuàng)建多行字符串? Sep 20, 2025 am 06:11 AM

thebestatoreateamulti-linestlinginjavascriptsisisingsistisingtemplatalalswithbacktticks,whatpreserveticks,whatpreservereakeandeexactlyaswrite。

如何在JavaScript中創(chuàng)建和使用立即調(diào)用的函數(shù)表達式(IIFE) 如何在JavaScript中創(chuàng)建和使用立即調(diào)用的函數(shù)表達式(IIFE) Sep 21, 2025 am 05:04 AM

Aniife(立即InvokedFunction表達)IsafunctionThatrunSassoonAsisition定義,createByWrappingAppappingAptappafunctionInparenthensessandMmedImmedImmedInvokingit,whopreventsglobalnamespacepacepallutionpallutionpallutionPollutionPollutionPollutionAndEnablesPrivatesScopethroughCloseconscopethroughClosecome; itiswritten; itiswritten; itiswrittenas(iTiswrittenas;

See all articles