Paragraph Text: The Last Frontier of Web Typography

In my last article, “The Past and Present of Web Typography”, I’ve discussed alternatives to browser core fonts. Since font replacement for paragraphs is unrealistic, for the time being we have to make do with core fonts. If we’re forced to use these system fonts what sort of control do we have over setting them?
Web Typesetting Now
- Font Size (%, pixels, ems, pts)
- Limited Tracking (± 1 pixel)
- Leading (line height)
- Word Spacing
Web Typesetting of the Future
- @font-face (non-system fonts)
- Full justify w/ flexible spacing
- Accurate Tracking (to the decimal point)
- Consistent Leading (Baseline Grids)
- Ligatures (ex. Th, fi. fl, ff, ft, fh)
- Hyphenation and special characters *
- Fractions, super/subscript *
Print is dead. Did typesetting die with it?
For those migrating from the print world, you demand more control over typography. Progress in the web world is glacier slow much like getting a billion people to march in the same direction. It takes some major cajoling when even the best of us resist change. You may be surprised what tools are already available to the web typographer.
Tracking is “letter-spacing”
Tracking adjusts overall letter spacing. Letter-spacing may not be necessary in paragraphs. It’s often used in justified columns to even out spacing. Single pixel adjustments are the only way for cross browser support.
p {
letter-spacing: 1px;
}
Leading is “line-height”
Leading (space between the lines) in CSS is called “line-height”. Small increments (.05) are accepted. Of course, the math is easier with round numbers. Traditionally, line height is set in ems.
p {
line-height: 1.35em
}
CSS Font Stacks Explained
Think of the font stack as building in a fallback plan. Lets say you want to use Garamond on your website, but you know Garamond is installed on very few computers. If it doesn’t exist on your system, the runner-up takes its place, and so on. If no fonts are found, the browser default (serif, sans-serif, monospace) is called. As shown below, Georgia will be used if neither Garamond or “Times New Roman” is found. Note that fonts with multiple word names need to be enclosed in quotes.
p {
font-family: Garamond, Georgia, "Times New Roman", serif;
}
Full Paragraph Style in CSS
p {
font-family: Garamond, Georgia, "Times New Roman", serif;
font-size: 100%;
line-height: 1.3em;
}
Full Paragraph Style in CSS (Shorthand)
p {
font: 100%/1.3 Garamond, Georgia, "Times New Roman", serif;
}
*php-typography (Also available in a wordpress plugin) enables more advanced typesetting options. Some of which include automatic hyphenation, special characters (…), em dashes(—), en dashes(1900–2000), fractions (½), superscript (3²) and many more.
How do you get the most out of paragraph text? Have any tips/tricks? Comment below.
I’m a frontend designer/web designer/graphic designer/regular guy with an insane curiosity for web design, typography, and the art of visual communications. I love to write, and do so in the