HTML is a more freewheeling standard. When you create an HTML document, you don’t know who’s going to look at it, or what their computers will support. The way your document is displayed could change dramatically depending on whether the person viewing your document turns on large text, shrinks the browser window to microscopic proportions, or switches off pictures. And if people surf to your page using a trendy pocket PC, they’ll get a completely different perspective than what you’ll see with the latest widescreen computer monitor.

HTML was designed to head off these problems by giving you less control. Instead of allowing you to place everything exactly, HTML forces you to use tags to shape the basic structure of your work (for example, to indicate paragraphs, headings, and lists). However, it’s up to the browser to decide how to display these details on a given computer. In other words, HTML was designed as a compromise that sacrifices control for simplicity, flexibility, and compatibility.