值的语法组成

关键字

常规关键字

  • auto、left、right…

    全局关键字

    这三个属性值是每个属性的固有属性。当属性在级联时,没有产生属性值时,该属性就从这里找到属性值。当然开发者也可以给属性指定这三个关键字,将属性的值改为继承属性值。

  • inherit:继承父元素的属性值,尽管这个父元素不是包容盒。

  • initial:每个属性都有一个初始值(类比变量的初始化)。如果该属性没有继承,级联也没有值,那么该属性就使用初始值。

关键点初始值与UA样式表是无关的,它是属性变量声明时,系统定义的值。

  • unset:重置。它会擦除级联产生的属性值。如果这个属性是继承属性,擦除级联产生的属性值,改为继承值。如果是非继承属性,则改为初始值。

  • revert:回滚。

关键点1级联产生的属性值是开发者定义的,回滚到UA样式表定义的值,如果发现UA样式表也没有定义值,则回滚到初始值。
关键点2级联产生的属性值是UA样式表定义的,则回滚到初始值。

  • all:重新设定规则中所有属性的全局属性值。

    1. h2 {
    2. font-weight: bold;
    3. color: red;
    4. all: initial;
    5. }

    符号关键字

  • /:斜杠为了分隔相同属性值的类型,但是表示不同的属性。

  • ,:逗号为了分隔并列值或者是函数的参数。

    数据类型

  • 值的语义

    CSS属性值在不同的执行上下文里,属性值的语义是不一样的。

    给定值

    直接在样式表上写的属性值。

    计算值

    属性值需要通过计算得出,一般是通过继承计算。比如:font-size:2em,浏览器在使用相对值需要计算成32px。当然这里的2em既是给定值,又是计算值。

    使用值

    这是根据计算值引出的概念,就是计算得出的值。比如:一个样式表,使用百分比给定值的属性,引入不同的文档,它的使用值是不一样的。

    实际值

    使用值在不同的运行环境会受到限制,比如:颜色值实际在运行环境下没法准确显示,实际值就是可能会做调整。

    参考链接

    https://developer.mozilla.org/en-US/docs/Web/CSS/Value_definition_syntax#hash_mark值的语法规则