CSS 變數(也稱為 CSS 自定義屬性)使用 --
開頭,例如 --main-color: #007bff;
。它們可以在文件的根、任何元素或特定選擇器中宣告。 使用方法和好處如下:
使用方法:
-
宣告變數: 在選擇器中使用
--
字首宣告變數。例如::root { --main-color: #007bff; --font-size: 16px; } .container { --container-width: 80%; }
-
使用變數: 使用
var()
函式訪問變數值。例如:body { color: var(--main-color); font-size: var(--font-size); } .container { width: var(--container-width); }
-
回退值:
var()
函式可以接受第二個引數作為回退值,如果變數未定義或無效,則使用回退值。例如:body { color: var(--main-color, black); /* 如果 --main-color 未定義,則使用 black */ }
-
JavaScript 操作: 可以使用 JavaScript 獲取和設定 CSS 變數的值,實現動態樣式控制。例如:
// 獲取變數值 const mainColor = getComputedStyle(document.documentElement).getPropertyValue('--main-color'); // 設定變數值 document.documentElement.style.setProperty('--main-color', 'red');
好處:
- 可維護性: 將顏色、字型大小等常用值定義為變數,方便統一修改和維護。只需要在一個地方修改變數值,就可以影響所有使用該變數的地方。
- 可重用性: 可以在不同的選擇器、元素甚至不同的樣式表中重複使用相同的變數。
- 級聯和繼承: CSS 變數遵循級聯和繼承規則,可以根據需要在不同層級定義和覆蓋變數。
- 動態樣式: 可以使用 JavaScript 動態修改 CSS 變數的值,實現更靈活的樣式控制,例如主題切換、響應式設計等。
- 程式碼簡潔性: 使用變數可以減少重複程式碼,使樣式表更簡潔易讀。
- 提高效能: 相比於使用前處理器(如 Sass、Less),CSS 變數在瀏覽器原生支援,無需編譯,可以提高效能。
示例:主題切換
:root {
--primary-color: #007bff;
--secondary-color: #6c757d;
}
.dark-theme {
--primary-color: #212529;
--secondary-color: #adb5bd;
}
button {
background-color: var(--primary-color);
color: white;
}
.highlight {
color: var(--secondary-color);
}
透過切換 dark-theme
類,可以輕鬆切換主題顏色。
總而言之,CSS 變數是強大的 CSS 工具,可以提高程式碼的可維護性、可重用性和靈活性,是現代前端開發中不可或缺的一部分。