继承 - CSS:层叠样式表
继承在 css 中,每个 CSS 属性定义的概述都指出了这个属性是默认继承的 ("Inherited: Yes") 还是默认不继承的 ("Inherited: no")。这决定了当你没有为元素的属性指定值时该如何计算值。
继承属性当元素的一个继承属性(inherited property)没有指定值时,则取父元素的同属性的计算值。只有文档根元素取该属性的概述中给定的初始值(initial value)(这里的意思应该是在该属性本身的定义中的默认值)。
继承属性的一个典型例子就是 color 属性。给出以下样式规则:
cssp {
color: green;
}
若将其应用在下面这段 HTML 代码上…
html
This paragraph has emphasized text in it.
…文本 "emphasized text" 就会呈现为绿色,因为 em 元素继承了 p 元素 color 属性的值,而没有获取 color 属性的初始值(这个 color 值用于页面没有指定 color 时的根元素)。
非继承属性当元素的一个非继承属性没有指定值时,则取属性的初始值(该值在该属性的概述里被指定)。
非继承属性的一个典型例子就是 border 属性。给出以下样式规则:
cssp {
border: medium solid;
}
若将其应用在下面这段 HTML 代码上…
html
This paragraph has emphasized text in it.
…文本 "emphasized text" 就没有边框,因为 border-style 属性的初始值为none。
注意inherit 关键字允许显式的声明继承性,它对继承和非继承属性都生效。
可以使用 all 简写属性一次控制所有属性的继承,该属性将其值应用于所有属性,例如:
font {
all: revert;
font-size: 200%;
font-weight: bold;
}
这会将 font 属性的样式恢复为用户代理(浏览器)的默认值,除非存在用户样式表,在这种情况下使用该样式表。然后它将字体大小加倍并应用 font-weight 属性为 "bold"
参见
控制继承:inherit、initial、unset 和 revert
CSS 层叠
层叠和继承
CSS 重要概念:
CSS 语法
@ 规则
注释
优先级
继承
盒模型
布局模式
视觉格式化模型
外边距合并
值
初始值
计算值
解析值
指定值
应用值
实际值
属性值定义语法
简写属性