Experiments in Web Typography, #296
February 12, 1974
This project is to provide some real world examples of different CSS typography techniques. Topics such as different typefaces, font sizes, leading, and practicing good typographical design. One area of interest is maintaining a vertical rhythm. Richard Rutter has written a few articles about this, as well as Wilson Miner. The line-height and bottom margin of all the HTML elements will be set to maintain this rhythm. This involves a lot of math since the font size and leading is set in ems. Of course, there is also somewhat of a backlash against sizing text relatively using ems and multiple calls for going back to using pixels, partly due to the major browsers now using page zoom (which works) over text zoom (which IE refused to make work for text sized in pixels.) Oh, well. The work is done. The CSS file is here, and I have tried to keep it well-documented. 1
Here are some examples of various text options to look at as the CSS for this page is tweaked. First, this paragraph has a slight text shadow applied. This is emphasized text. And here we have some strong text. I never get things right on the first try, so just to make sure that strikethrough text appears correct. The following is a keyboard apostrophe: I'll not use it again. And these are “typographically correct quotes.” A break in thought is indicted by an em dash—look at something shiny 2. Here is a link that I have never visited.
This is blockquoted text. The quick brown fox jumped over the lazy dog. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse eu malesuada ipsum. Nulla semper, nisi id accumsan rhoncus, velit dui consectetur nisi, ac congue eros mauris non diam. Praesent sit amet tempor tortor. Nam porttitor porttitor lectus vel porttitor.
This is an H3 Heading with an ampersand &
I’m a fan of two techniques I learned from Robert Bringhurst’s Elements of Typographic Style: using old-style figures for numerals in text — 1974–1996 — and setting acronyms such as NRA and CIA in small caps versus ALL CAPS. Getting old-style figures just depends on selecting the right font; Georgia and Corbel are two good examples. Using small caps is slightly more difficult. In the previous sentences, I used a span element with a font-variant set to small-caps. The problem with this is a true small cap font is not being used - the browser just shrinks true capitals to a smaller size.
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9
Let’s test some lists:
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
- Aliquam tincidunt mauris eu risus.
- Typographic purists say that the bullets and numbers for lists should lie outside the left edge of the text. I think this looks like crap and will probably change it.
- Add footnotes
- Test out
preblock- Hey, a list within a list
- I like outlines
- Color for
codeelements - Finish Sidebar
- This is a definition term
- And this is a definition description
- Here is another definition term
- And surprise! The definition description
This is text wrapped in a pre block:
#content {
font-size: 0.875em; /* 14/16 = 0.875 */
line-height: 1.4286em; /* 20/14 = 1.4286 */
}
p, ol, ul {margin-bottom: 1.4286em;}
A Subhead marked up with H4
One issue that came up was that any line of text that has a code or pre element actually had a height of 25 or 27 pixels, even though those elements are set to 24px. These 1-2 pixel errors add up and break the vertical rhythm farther down the page. I finally found the fix here and it involves explicitly setting the line height to 1 on inline code elements and the standard vertical rhythm on code elements within pre blocks.
- To display an overlay of the vertical rhythm, Click here, then refresh the page.↵
- I like David Foster Wallace and I like footnotes too. ↵
Another Entry Headline
February 06, 1972
The above dateline span is not contained in a class of small cap. Images need to be sized correctly in the vertical to match the existing rhythm, which is 24 pixels. The image height + top/bottom padding + top/bottom border should be evenly divisible by twenty-four. The image below is 252 pixels tall (plus 4 pixels of padding and 1 pixel borders = 260 pixels) and 402 pixels wide. The content div is 410 pixels wide. Again, subtracting the 8 pixels of padding and border equals a max image width of 402 pixels.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse eu malesuada ipsum. Nulla semper, nisi id accumsan rhoncus, velit dui consectetur nisi, ac congue eros mauris non diam.
Update: This is paragraph with a class of note, used for updates to entries. Need to add appropriate styling.