继承

概述

 每个 CSS 属性定义 的概述都指出了这个属性是默认继承的 ("Inherited: Yes") 还是默认不继承的 ("Inherited: no")。这决定了当你没有为元素的属性指定值时该如何计算值。

继承属性

当元素的一个 继承属性 (inherited property 没有指定值时,则取父元素的同属性的 计算值 computed value 。只有文档根元素取该属性的概述中给定的初始值initial value)(这里的意思应该是在该属性本身的定义中的默认值)。

典型例子 color 属性 :

p { color: green }

HTML:

<p>This paragraph has <em>emphasized text</em> in it.</p>

文本 "emphasized text" 将会呈现为绿色,因为 em 元素继承了 p 元素 color 属性的值,而没有获取color属性的初始值(这个color值用于页面没有指定color时的根元素)。

非继承属性

当元素的一个 非继承属性 (在Mozilla code 里有时称之为 reset property  ) 没有指定值时,则取属性的 初始值initial value (该值在该属性的概述里被指定)。

典型例子如  border 属性:

 p { border: medium solid }

HTML

  <p>This paragraph has <em>emphasized text</em> in it.</p>

文本 "emphasized text" 没有边框,因为border-style属性 的初始值为 none。

注意

 inherit 关键字 用于显式地指定继承性,可用于继承性/非继承性属性。

See Also

文档标签和贡献者