About This Tutorial

Today, using clean, semantic markup with CSS is utterly uncontroversial. And yet many of the popular tutorials on the web have never really caught up. The result is that if you start learning HTML from scratch today, you’ll probably go through the same learning process as someone who started in the mid-1990s:

  1. Learn old-school HTML 3.2-style markup.

  2. Learn about CSS.

  3. Unlearn about half of your previous markup knowledge.

  4. Learn how to do things the “right” way.

The original “HTML 4.01 Tutorial” was my attempt to cover HTML in an integrated, modern way, incorporating CSS from the start. Even though the tutorial was unfinished for years, it still drew visitors searching for help with font styles, alignment, padding, and more.

Finally, I couldn’t take it anymore.

“Gentlemen, we can rebuild it… we have the technology. We have the capability to make the world’s first modern HTML tutorial. The Pocket HTML Tutorial will be that tutorial. Better than it was before. Better… stronger… faster…”

Yes, the time has come to dust off the old tutorial and set it on the path to modernity. Here are some of the improvements:

Okay, that’s all well and good. But what does this tutorial not cover?

With one or two notable exceptions, there is a sizable gap between the popular tutorials and modern resources like the CSS Zen Garden, glish.com, and YUI Grids. That’s just crazy. This tutorial attempts to bridge that gap. I hope you find it useful.

This work is licensed under a Creative Commons License: Attribution 3.0 Unported.

You are free:

Under the following conditions:

For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder.

Your fair use and other rights are in no way affected by the above.

This is a human-readable summary of the Legal Code (the full license).