CSS custom properties (variables)

 

宣告一 CSS 變數的語法為

element {
  --main-bg-color: brown;
}

 

使用一 CSS 變數的語法為

element {
  background-color: var(--main-bg-color);
}


範例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <style>
        :root {
            --color-red: red;
            --color-yellow: yellow;
        }

        h1 {
            --color-blue: blue;
            --color-green: green;
        }

        .test {
            /*no effect*/
            --color-pink: pink;
            --color-orange: orange;
        }

        .root-yellow {
            background-color: var(--color-yellow);
        }

        .h1-blue {
            background-color: var(--color-blue);
        }

        .test-span {
            background-color: var(--color-pink);
        }
    </style>
</head>
<body>
    <p class="root-yellow">sdfsdf</p>
    <p class="h1-blue">sdfsdf</p>
    <h1 class="h1-blue">fdf</h1>
    <h2 class="h1-blue">aaa</h2>
    <h2 class="test-span">bbb</h2>
</body>
</html>

 

說明:

1、CSS 變數的宣告不能放在 class 裡,否則無作用。

2、由於 CSS 變數的宣告某種程度具有封閉性,不同元素裡的變數宣告不能跨區使用。

3、IE11 以下不支援。

 

參考資料:

Using CSS custom properties (variables)

CSS Custom Properties for Cascading Variables Module Level 1