CSS Variables

作者: coltfoal | 来源:发表于2017-01-02 21:38 被阅读44次

定义

CSS Variables,也称为CSS变量。由CSS定义的一种实体,可包含指定值,并在整个document中复用。

声明

element {

    --custom-color: blue;

}

- 必须以“—”(两个dash)开始变量名称,比如“—custom-color”。

- 大小写敏感。

用法

用var()来获取并使用CSS变量。

element{

    background-color: var(--custom-color);

}

这里var的语法是这样的:

var( < custom-property-name > [, < declaration-value > ]? )

第一个参数对应CSS变量的名称,第二个为默认值,如果第一个参数对应的CSS变量未定义,则使用这个默认值。

第二个参数还可以是多个通过逗号分隔的值,与shorthand values不同。

注意点

- CSS变量会从它的父节点继承下来。

- var()不能作为属性名。

- var()不能只作为值的一部分(比如不允许“margin-top: var(—gap)px;”),而必须作为整个值,或者使用calc,比如“margin-top: calc(var(—gap) * 1px);”。

- IE不支持CSS变量。

操作CSS变量

可以通过JavaScript操作CSS变量:

// 获取

var styles = getComputedStyle(document.documentElement);

var value = String(styles.getPropertyValue('--primary-color')).trim();

// 设置

document.documentElement.style.setProperty('--primary-color','green');

document.documentElement.style.setProperty('--primary-color','var(--secondary-color)');

黑科技

CSS变量可以包含任何合法的值,比如“—foo: if(x > 5) this.width = 10; ”。虽然对于大部分CSS来说这个值是无效的,但是可以在运行时通过JavaScript做一些事情。

参考

Using CSS variables

var() - CSS | MDN

CSS Variables: Why Should You Care?

相关文章

  • CSS Variables

    定义 CSS Variables,也称为CSS变量。由CSS定义的一种实体,可包含指定值,并在整个document...

  • CSS variables变量

    官方的规范把它们称作作为级联变量的CSS自定义属性(CSS custom properties for casca...

  • 03 CSS Variables

    效果 Demo Github 知识点 :root CSS变量:var(--xxx) CSS滤镜:filter 事...

  • css变量使用var

    CSS变量(CSS Variables/Custom Properties) (1)变量属性的定义在一个类选择器下...

  • :root css变量教程

    转载:http://www.ruanyifeng.com/blog/2017/05/css-variables.h...

  • 03.css variables

    使用js和css做一个滑块改变图片边距和高斯模糊的效果 这个案例我一开始以为要十几行代码才能完成,没想到用了几行代...

  • LESS 使用指南

    简介 Less 是一个Css 预编译器,意思指的是它可以扩展Css语言。它的功能如允许变量(variables),...

  • sass初探

    Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (n...

  • Sass入门篇

    Sass入门 Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables...

  • 初识Sass

    Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (n...

网友评论

    本文标题:CSS Variables

    本文链接:https://www.haomeiwen.com/subject/jrqgvttx.html