Inheritance - CSS: Cascading Style Sheets 编辑
In CSS, inheritance controls what happens when no value is specified for a property on an element.
CSS properties can be categorized in two types:
- inherited properties, which by default are set to the computed value of the parent element
- non-inherited properties, which by default are set to initial value of the property
Refer to any CSS property definition to see whether a specific property inherits by default ("Inherited: yes") or not ("Inherited: no").
Inherited properties
When no value for an inherited property has been specified on an element, the element gets the computed value of that property on its parent element. Only the root element of the document gets the initial value given in the property's summary.
A typical example of an inherited property is the color
property. Given the style rules:
p { color: green; }
... and the markup:
<p>This paragraph has <em>emphasized text</em> in it.</p>
... the words "emphasized text" will appear green, since the em
element has inherited the value of the color
property from the p
element. It does not get the initial value of the property (which is the color that is used for the root element when the page specifies no color).
Non-inherited properties
When no value for a non-inherited property has been specified on an element, the element gets the initial value of that property (as specified in the property's summary).
A typical example of a non-inherited property is the border
property. Given the style rules:
p { border: medium solid; }
... and the markup:
<p>This paragraph has <em>emphasized text</em> in it.</p>
... the words "emphasized text" will not have a border (since the initial value of border-style
is none
).
Notes
The inherit
keyword allows authors to explicitly specify inheritance. It works on both inherited and non-inherited properties.
You can control inheritance for all properties at once using the all
shorthand property, which applies its value to all properties. For example:
font {
all: revert;
font-size: 200%;
font-weight: bold;
}
This reverts the style of the font
property to the user agent's default unless a user stylesheet exists, in which case that is used instead. Then it doubles the font size and applies a font-weight
of "bold"
.
See also
- CSS values for controlling inheritance:
inherit
,initial
,unset
, andrevert
- Introducing the CSS cascade
- Cascade and inheritance
- CSS Key Concepts: CSS syntax, at-rule, comments, specificity and inheritance, the box, layout modes and visual formatting models, and margin collapsing, or the initial, computed, resolved, specified, used, and actual values. Definitions of value syntax, shorthand properties and replaced elements.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论