HTML and CSS Reference
In-Depth Information
For better cross-browser consistency, you can first declare a set of base sizes for common headings in
your style sheet. For example:
h1 { font-size: 200%; }
h2 { font-size: 150%; }
h3 { font-size: 120%; }
h4 { font-size: 100%; }
Then, to preserve some visual hierarchy when headings appear in nested elements, you could expand that
set of rules with a few descendant selectors:
h1 { font-size: 200%; }
h2, section h1 { font-size: 150%; }
h3, section h2 , section section h1 { font-size: 120%; }
h4, section h3 , section section h2 { font-size: 100%; }
The selector “ section h1 ” selects any h1 element that occurs within any section element. Grouping that
descendant selector in the same rule with the h2 selector means any h1 within a section will be the same
size as a regular h2 . Drilling down one more level with “ section section h1 ” will make any h1 that is a
descendant of a section that is itself a descendant of another section the same size as a regular h3 .
Figure 4-39 is the same markup in Opera again, now with some visual hierarchy.
Figure 4-39. A few descendant selectors establish some visual hierarchy in nested section s
You could take this a lot further, adding complex descendant selectors for article s within section s,
section s within article s, article s within article s, aside s within section s, and so on and so forth,
but there's no reason to go crazy establishing base styles for every possible markup situation; only those
you actually need.
If your particular website frequently calls for nesting an article in an aside in a section in an article ,
then you could include a descendant rule for a heading in that context ( article section aside
Search WWH ::

Custom Search