
- CSS 教程
- CSS - 首頁
- CSS - 路線圖
- CSS - 簡介
- CSS - 語法
- CSS - 選擇器
- CSS - 包含
- CSS - 測量單位
- CSS - 顏色
- CSS - 背景
- CSS - 字型
- CSS - 文字
- CSS - 影像
- CSS - 連結
- CSS - 表格
- CSS - 邊框
- CSS - 塊級邊框
- CSS - 內聯邊框
- CSS - 外邊距
- CSS - 列表
- CSS - 內邊距
- CSS - 游標
- CSS - 輪廓
- CSS - 尺寸
- CSS - 捲軸
- CSS - 內聯塊
- CSS - 下拉選單
- CSS - 可見性
- CSS - 溢位
- CSS - 清除浮動
- CSS - 浮動
- CSS - 箭頭
- CSS - 調整大小
- CSS - 引號
- CSS - 順序
- CSS - 位置
- CSS - 連字元
- CSS - 懸停
- CSS - 顯示
- CSS - 聚焦
- CSS - 縮放
- CSS - 轉換
- CSS - 高度
- CSS - 連字元字元
- CSS - 寬度
- CSS - 不透明度
- CSS - Z-Index
- CSS - 底部
- CSS - 導航欄
- CSS - 覆蓋層
- CSS - 表單
- CSS - 對齊
- CSS - 圖示
- CSS - 圖片庫
- CSS - 註釋
- CSS - 載入器
- CSS - 屬性選擇器
- CSS - 組合器
- CSS - 根
- CSS - 盒模型
- CSS - 計數器
- CSS - 剪輯
- CSS - 書寫模式
- CSS - Unicode-bidi
- CSS - min-content
- CSS - All
- CSS - Inset
- CSS - Isolation
- CSS - Overscroll
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - 指標事件
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - Max Block Size
- CSS - Min Block Size
- CSS - Mix Blend Mode
- CSS - Max Inline Size
- CSS - Min Inline Size
- CSS - Offset
- CSS - Accent Color
- CSS - User Select
- CSS 高階
- CSS - 網格
- CSS - 網格佈局
- CSS - Flexbox
- CSS - 可見性
- CSS - 定位
- CSS - 圖層
- CSS - 偽類
- CSS - 偽元素
- CSS - @規則
- CSS - 文字效果
- CSS - 分頁媒體
- CSS - 列印
- CSS - 佈局
- CSS - 驗證
- CSS - 圖片精靈
- CSS - Important
- CSS - 資料型別
- CSS3 教程
- CSS3 - 教程
- CSS - 圓角
- CSS - 邊框影像
- CSS - 多重背景
- CSS - 顏色
- CSS - 漸變
- CSS - 盒陰影
- CSS - 盒裝飾中斷
- CSS - 游標顏色
- CSS - 文字陰影
- CSS - 文字
- CSS - 2d 變換
- CSS - 3d 變換
- CSS - 過渡
- CSS - 動畫
- CSS - 多列
- CSS - 盒尺寸
- CSS - 工具提示
- CSS - 按鈕
- CSS - 分頁
- CSS - 變數
- CSS - 媒體查詢
- CSS - 函式
- CSS - 數學函式
- CSS - 遮罩
- CSS - 形狀
- CSS - 樣式影像
- CSS - 特異性
- CSS - 自定義屬性
- CSS 響應式
- CSS RWD - 簡介
- CSS RWD - 視口
- CSS RWD - 網格檢視
- CSS RWD - 媒體查詢
- CSS RWD - 影像
- CSS RWD - 影片
- CSS RWD - 框架
- CSS 工具
- CSS - PX 到 EM 轉換器
- CSS - 顏色選擇器和動畫
- CSS 資源
- CSS - 有用資源
- CSS - 討論
CSS - 變數
CSS 變數是自定義屬性,允許您在整個 CSS 程式中儲存和重用值。CSS 變數類似於其他程式語言中的變數。
目錄
如何在 CSS 中宣告變數?
CSS 變數通常使用 :root 選擇器定義。以下是宣告 CSS 變數的語法
:root { --variable-name: value; }
要使用 CSS 變數,請遵循以下語法
selector { var(--variable-name, fallback-value); }
我們可以使用var函式替換任何元素上 CSS 屬性的值。
CSS 不允許在媒體查詢或容器查詢中使用變數,也不能使用它們來設定 CSS 屬性或選擇器的名稱。
傳統方法
在這個示例中,我們將看到如何在不使用變數的情況下完成顏色和樣式。在這裡,您可以注意到我們正在重複指定屬性值。
示例
<html lang="en"> <head> <style> body { background-color: #f0f0f0; color: #333; font-family: 'Arial', sans-serif; padding: 10px; } header { background-color: #0044cc; color: #fff; padding: 10px; } .container { background-color: #fff; padding: 10px; } </style> </head> <body> <header> <h1>Welcome to My Website</h1> </header> <div class="container"> <p> This is a container with a background color defined traditionally. Here we need to specify repeating color values multiple times. </p> </div> </body> </html>
使用 CSS 變數
以下程式碼展示瞭如何使用變數來避免 CSS 中的冗餘。在處理現實世界應用程式中的大型程式碼庫時,這變得更加重要。
在這裡,您還可以看到我們將顏色 '#0044cc' 定義為藍色,因此開發人員可以透過使用變數 blue 來重複使用此顏色。
示例
<html lang="en"> <head> <style> :root { --main-bg-color: #f0f0f0; --main-text-color: #333; --primary-font: 'Arial', sans-serif; --padding: 10px; --blue: #0044cc; --header-text: #fff; --container-bg: #fff; } body { background-color: var(--main-bg-color); color: var(--main-text-color); font-family: var(--primary-font); padding: var(--padding); } header { background-color: var(--blue); color: var(--header-text); padding: var(--padding); } .container { background-color: var(--container-bg); padding: var(--padding); } </style> </head> <body> <header> <h1>Welcome to My Website</h1> </header> <div class="container"> <p> This is a container with a background color defined using variables. </p> </div> </body> </html>
根偽類
CSS 變數在樣式表的頂部使用:root偽類宣告,該偽類匹配文件的根元素。這意味著使用:root選擇器宣告的 CSS 變數可以被文件中的任何元素使用。
CSS 變數名稱區分大小寫,這意味著 --pink-color 和 --Pink-color 是兩個不同的變數。
步驟 1:定義自定義屬性
要使用 :root 偽類宣告變數,只需在變數名稱前新增'--'字首,然後設定其值。
:root { --pink-color: pink; --blue-color: blue; }
步驟 2:在 CSS 中使用自定義屬性
然後可以使用var()函式在整個 CSS 程式碼中使用這些變數。
.box { width: 400px; height: 200px; background-color: var(--pink-color); color: var(--blue-color); } .box1, .box2 { display: inline-block; background-color: var(--pink-color); width: 100px; height: 50px; color: var(--blue-color); }
示例
以下示例展示瞭如何在十六進位制和 RGB 值中定義我們自己的顏色陰影變體,將其儲存在變數中並在以後重用。
<html> <head> <style> :root { --white-color: #f0f0f0; --black-color: rgb(0, 0, 21); } .box { text-align: center; padding: 20px; background-color: var(--white-color); color: var(--black-color); } .box1, .box2 { display: inline-block; background-color: var(--black-color); color: var(--white-color); width: 100px; height: 50px; } </style> </head> <body> <div class="box"> <h2>Tutorialspoint</h2> <p> How to code a website using HTML and CSS </p> <div class="box1"> HTML </div> <div class="box2"> CSS </div> </div> </body> </html>
自定義屬性的繼承
您可以使用 CSS 變數定義可重用的 CSS 值,這些值可以由子元素繼承。
步驟 1:在:root選擇器中宣告自定義屬性。
這使變數全域性化,並可供文件中的所有元素訪問。
:root { --pink-color: pink; }
步驟 2:使用var()函式在 CSS 中訪問自定義屬性。
這允許您在 box 的所有子元素中重用自定義屬性。
.box { --box-background: var(--pink-color); background-color: var(--box-background); }
步驟 3:在子元素中使用顏色。
這允許您為特定元素自定義自定義屬性的值。
.box1, .box2 { background-color: var(--box-background); }
示例
以下示例演示瞭如何將 CSS 自定義屬性與繼承一起使用。
<html> <head> <style> :root { --white-color: #f0f0f0; --black-color: rgb(0, 0, 21); } .box { --box-background: var(--white-color); background-color: var(--box-background); text-align: center; padding: 20px; } .box1, .box2 { display: inline-block; background-color: var(--black-color); /* Box Background is defined at parent box */ color: var(--box-background); width: 100px; height: 50px; } </style> </head> <body> <div class="box"> <h2>Tutorialspoint</h2> <p> How to code a website using HTML and CSS </p> <div class="box1"> HTML </div> <div class="box2"> CSS </div> </div> </body> </html>
CSS 變量回退值
您可以將 CSS 變數與回退值一起使用,以確保您的 CSS 程式碼仍然有效並在變數未定義的情況下也能工作。
CSS 回退值不用於使 CSS 自定義屬性在舊版瀏覽器中工作。它們僅在支援 CSS 自定義屬性的瀏覽器中用作備份,以防變數未定義或具有無效值。
示例
在下面的示例中,我們只為白色定義了顏色陰影,但也在使用黑色變數。由於我們為黑色變數定義了回退值,因此不會出現任何錯誤。
<html> <head> <style> :root { --white-color: #f0f0f0;/* Shade for white */ /* variable for black not defined */ } .box { text-align: center; padding: 20px; background-color: var(--white-color, white); color: var(--black-color, black); } .box1, .box2 { display: inline-block; background-color: var(--black-color, black); color: var(--white-color, white); width: 100px; height: 50px; } </style> </head> <body> <div class="box"> <h2>Tutorialspoint</h2> <p> How to code a website using HTML and CSS </p> <div class="box1"> HTML </div> <div class="box2"> CSS </div> </div> </body> </html>
CSS 變數無效值
在下面的示例中,--red-color自定義屬性的值定義為15px。這是一個無效的值,因為紅色屬性僅接受顏色值。
但是,瀏覽器將無法解析自定義屬性的值,因為它無效。結果,它將簡單地忽略 CSS 規則,第二個 h2 元素中的文字將保持相同的顏色。
示例
在這個示例中,即使我們使用 color 屬性將 h2 的顏色設定為紅色,但由於無效顏色引起的錯誤,使用了預設顏色黑色。
<html> <head> <style> :root { /* define a invalid value for c0lor */ --red-color: 15px; } h2 { /* Make color of h2 as red */ color: red; } h2 { /* Use invalid color for h2, this will cause error and default color value (black) is used */ color: var(--red-color); } </style> </head> <body> <h2> Tutorialspoint CSS Variables. </h2> </body> </html>
JavaScript 中的 CSS 變數
以下示例演示瞭如何使用 JavaScript 全域性和本地設定 CSS 變數。
示例
<html> <head> <style> .box { text-align: center; padding: var(--padding); background-color: var(--white-color); color: var(--black-color); } .box1, .box2 { display: inline-block; background-color: var(--black-color); color: var(--white-color); width: 100px; height: 50px; } </style> </head> <body> <div class="box"> <h2>Tutorialspoint</h2> <p>How to code a website using HTML and CSS</p> <div class="box1">HTML</div> <div class="box2">CSS</div> </div> <script> const root = document.documentElement; const boxElement = document.querySelector('.box'); // Define a global variable root.style.setProperty('--padding', '20px'); // Define variables specific to the box element boxElement.style.setProperty('--white-color', '#f0f0f0'); boxElement.style.setProperty('--black-color', 'rgb(0, 0, 21)'); </script> </body> </html>