qinyi素材网
当前位置: 首页 > WEB教程 > 自定义CSS变量和如何使用它们

自定义CSS变量和如何使用它们

  时间: 2021-12-07   阅读:715
简要教程

CSS 变量(正式称为 CSS 自定义属性)的行为与其他编程语言中的变量非常相似。它们允许您定义包含可在 CSS 文档中重复使用的特定值的命名变量。

什么是CSS自定义变量

CSS 变量(正式称为 CSS 自定义属性)的行为与其他编程语言中的变量非常相似。它们允许您定义包含可在 CSS 文档中重复使用的特定值的命名变量。正如自定义属性符号中所指定的那样,CSS 变量以两个破折号作为前缀(例如--my-color: black)。要访问它们,您可以使用该var()功能(例如color: var(--my-color))。CSS 变量对于在不同元素和组件之间共享样式非常有用。示例包括但不限于垂直节奏、排版变量和调色板。

他们最常见的用例之一是主题和暗模式。CSS 变量可用于在整个网站上创建一个共享调色板,并轻松地将其替换为不同的调色板。这通常是通过将一个类应用到一个共同的祖先(例如<body>元素)来实现的。这个例子演示了在:root元素和级联中定义的全局变量,因为元素从它们的父元素继承值:

/* Global variables are defined in the :root element. */
:root {
  --bg-color: #fff;
  --main-color: #000;
  --secondary-color: #222;
}
/* Elements inherit variables from their parents. */
body {
  background-color: var(--bg-color);
  color: var(--main-color);
}
small {
  color: var(--secondary-color);
}
/* Elements can define their own values and variables, overriding inherited ones.*/
body.dark {
  --bg-color: #080808;
  --main-color: #fff;
  --secondary-color: #ccc;
}

另一个有用的示例是为元素的某些变体定义共享的自定义样式。这允许定制整个组件树而无需重复任何样式。下面的示例演示了比前一个更好的级联。它还引入了在不同元素之间共享样式的想法:

.btn {
  --bg-color: #002299;
  --text-color: #fff;
  --highlight-color: #669900;

  background-color: var(--bg-color);
  color: var(--text-color);
}
/* --highlight-color is also available to the children of .btn */
.btn .highlight {
  color: var(--highlight-color);
}
/* .btn.danger .highlight will use the --highlight-color defined in .btn-danger */
.btn-danger {
  --bg-color: #dd4a68;
  --text-color: #000;
  --highlight-color: #990055;
}

最后,请记住以下有关使用 CSS 变量的有用提示:
您可以通过向var()函数提供第二个参数来定义回退值(例如,var(--text-color, black)将默认为blackif--text-color未定义)。
CSS 变量区分大小写,因此请注意大小写。它们也可以像任何其他样式(例如<div style="--text-color: red">)一样在 HTML 中内联。
您可以嵌套var()调用,使用另一个变量作为后备(例如var(--main-color, var(--other-color))),将它们传递给其他函数,例如calc()甚至将一个变量分配给另一个(例如--text-color: var(--main-color))。

上一篇: 下一篇: