Style Inheritance
HTML documents are structured hierarchically. There is an ancestor, the top level
element, the HTML element, from which all other elements (children) are
descended. As in any other family also children of the HTML family can inherit
their parents, e.g. color or size.
By letting the children inherit their parents a default style can be created for
top level elements and their children. (Note: not all properties can be
inherited). The inheritance starts at the oldest ancestor and is passed
on to its children and then their children and the children's children and so
on.
Inherited style can be overridden by declaring specific style to child
element. For example if the EM element is not to inherit its parent P
then own style must be declared to it. For example:
BODY {font-size: 10pt}
All text will be displayed in a 10 point font
BODY {font-size: 10pt}
H1 {font-size: 14pt} or H1 {font-size: 180%}
All text except for the level 1 headings will be
displayed in a 10 point font. H1 will
be displayed in a 14 point font (or in a font that is 80% larger than the one
set to BODY). If the element H1
contains other elements, e.g. EM then
the EM element will also be displayed in a 14 point font (or 180%) it will
inherit the property of the parent H1. If
the EM element is to be displayed in some other font then own font properties
must be declared to it, e.g:
BODY {font-size: 10pt}
H1 {font-size: 14pt} or H1 {font-size: 180%}
EM {font-size: 15pt} or EM {font-size: 110%}
The EM element will be
displayed in a 15 point font or will be 10% larger than H1
. NOTE:EM is, in this
example, inside H1 therefore will inherit H1's properties
and not BODY's.
The above declaration will display all EM elements
in 15 point font or font that is 10% larger than font declared
to the parent element. If this specific font is to apply to EM elements but only if
they are inside H1 and not every occurrence of EM then
EM must take a form of a contextual selector.
H1 EM {font-size: 15pt} or H1 EM {font-size: 110%}
In the example above EM is a contextual selector. It will be
displayed in specified font only if it will be found in the context of H1
Not all properties are inherited. One such property is background
. However, since it's initial value is transparent the background of the parent
element will shine through by default unless it is explicitly set.
|