As I continue my struggle to transform myself from an electronics engineer to an interface/graphic designer, I've been doing a lot of reading on typography. I recently spent some time in The Elements of Graphic Design by Alex White. He talks a lot about typography and offers some generous helpings of advice:
"Complexity will not get a message across because, though it may be interesting to look at, the message won't be legible. Simplicity alone will not get a message across because, though it may be easy to read, its importance won't be recognized. Only simplicity combined with expressiveness will make the message both legible and interesting."
He also quotes R. Hunter Middleton who said:
"Typography is the voice of the printed page. But typography is meaningless until seen by the human eye, translated into sound by the human brain, heard by the human ear, comprehended as thought and stored as memory."
Such inspirational statements give a designer a lot to shoot for, but the second a web designer reaches for these heights, he finds his hands are still tied (behind his back, no less). Since it has never been readily obvious to me along my design learning path what the ins and outs of typography on the web are, I'm going to set them forth as I understand them in one convenient place.
When a website loads on your computer, HTML text is loaded according to the font designated in the web page. The browser checks your computer to see if you have the font the web page wants, and it renders it for you. If you don't have the font it wants, it defaults to another. Here are a few examples:
Note how the last font (4th choice) is a generic term so that the browser can render the user's default serif font (whatever that may be).
The reason the fonts are so limited is because there are only a handful of fonts understood to be universally available on computers throughout the English-speaking world. This is why a random font choice may work on your computer, but beware that it may not show up elsewhere.
So what's the work-around? You have three options:
I predict that more and more web-friendly fonts will be made available to the HTML world as the years roll on. For example, we've seen the growing popularity of Trebuchet MS with blogs.
Gratefully, the number of options available for formatting HTML text is growing. I thank CSS for that. There are a lot of web pages that are really hard to read simply because the text is formatted so poorly. Let me give a few pointers.
Limit Your Text Column Width
If you stretch your text to 100% of the width of the window, you'll put your readers to sleep before they can get through the first line. Web readers are typically scanning for information, not cuddling up for a long read. I recommend making your text column width no wider than 500 pixels. This will make the text body appear conquerable and allows the eye to peruse its contents quickly.
Spacious Line Height
Nobody likes a struggle to breathe. Reading text that's crammed together feels that way for the brain, and will turn your readers away quicker than mace out of a fire hose. It depends on the font, but you're usually pretty safe with a line height of at least 120%. This is set in CSS like this:
line-height:120%;
This site uses 140%, which seems to help readability. Dabble with different heights and see what seems reassuring to the eye.
Font Color
I'm of the opinion that text should never be colorful unless it needs specific emphasis. Such things include:
If you make all your "reading" text a color, and, heaven forbid, multiple colors, you're already giving the brain something to work on. Then, when you want to emphasize something, you've got to add that much more work to make it stand out. Let your text baseline be simple, then embelish when necessary (not when fun or cute).
I like to keep my "reading" text on the medium gray to black spectrum:

Simplicity is also a key in choosing the number of fonts you are going to use on a website. Some designers are bred for their skills in magic, and can make several fonts work all in the same place, but if you're like the rest of us, anything more than 4 fonts is pushing it. If you can justify a specific purpose for a particular font, you grant yourself permission to use it. But if you're trying to "make it fun" or "jazz things up a bit" then you're off the straight and narrow path. Good design is driven by planning, deliberate placement, and stylization.
These are very foreign topics to be inside the brain of an engineer. At least I get to write all this into a code editor.

Thanks for the tip. I did like the quotes and I'm impressed with all the info and resources. Although, I haven't done much design, your clear, simple, and expressive info seemed to draw me into the message. (I'm serious--I liked it.)
Very good article on typography. You're right on.
Although I don't design websites (yet), I deal with many of the same concepts in mapmaking. Keeping things simple can be pretty challenging. For instance, you need to be able to justify making a certain feature ona map colorful, and things better not get too colorful or it starts getting confusing. "Visual hierarchy" is what they called it in school.
Well done.
I couldn't agree more with the points you raised about column width (line length), line height (leading), and color...
Your post has me wondering if perhaps it is HTML the design world has to thank for the confounding (I'd say bastartization but that's not a nice word to turn loose in cyberspace) of its typographic terminology.
Let me clarify: In (print)Design terms, "Times New Roman" is not a font. "Times New Roman" is a typeface. Typefaces are a collection of letterforms defined in terms of shape and relationships (ligatures, alternate characters etc.) A font is a set of characteristics applied to a typeface in a particular execution. "Times New Roman, semi-bold italic, -20, 12pt/14pt, Pantone 395U" is a font.
In terms of "options," you're a good deal more generous than I would be. Any peice including more than 4 fonts is, indeed, pushing it. But a designer who specs 4 typefaces in a single peice might as well make his presentation to the board in a Speedo--it would take less guts! According to (print)Design theory, the best pieces use only one--two at the most.
But, when you launch those pristine bits of typographic genius onto the web, it throws them out the window anyway! So I am very grateful for your clarification and advice...especially since I imagine I'm probably part of what prompted this spate of research in the first place.
Thanks.
A fantastic comment. Thanks for the clarification. I agree that the web's use of "font" is amiss. Many of the pure ways of the graphic artist are corrupted in the world of hackers. It's easy to tell that technical people created the internet, not artists.
Constraints, tradeoffs, and work-arounds are the rule for computer interface design. Gratefully, print design holds fast to its non-technical roots, while maintaining the conveniences afforded by computing.
My interaction with you spurred some thought on this topic, though these ideas have been floating in my gray matter (which, by the way, is about #666666) for a while now.
Design seems to be such a fickle thing. Although I agree with SaraJoy's comments, especially when it comes to some of the differences between the print and online worlds, I think the differences that comes with each medium is what make them unique.
What they can get away with on TV wouldn't usually appear in print, or on the web. I think some of the best designs out there are able to take advantages of those differences/quirks, or blend design traits from various mediums into one.
And I think it's Microsoft Word we have to thank for blurring the line between typefaces and fonts. Word refers to typefaces as fonts. With HTML it's a "Font-family" which is atleast somehat akin to a typeface.
Yeah, we have Microsoft to thank for a lot of things. One of them is paying so many taxes so that our individual taxes can be lower. Just think of what life would be like without the corporate tax system.
Wow, that's way off the subject. Good comment, Peter, especially for a Californian.
test
test2
I think your test worked. Thanks, Pedro. Now build me a cake or something.
I've been wondering where a list like this was. I finally found one. Sweet: