概述
每个 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
- CSS Reference
- CSS Key Concepts: CSS syntax, specificity and inheritance, the box, layout modes and visual formatting models, and margin collapsing, or the initial, computed, used and actual values. Definitions of value syntax, shorthand properties and replaced elements.
inherit