HTML and XHTML Quick Reference Charts: Head and Body Markup
Element Description and Browser Support
<html> ... </html> Bounds of HTML or XHTML document
  <head> ... </head> Document head (document meta data)
    <base /> Base URL for the document (i.e., original URL)
    <isindex /> Simple search interface (use form instead)
    <link /> Relationship(s) to other resources (e.g., style sheets)
    <meta /> Document meta-information (e.g., for search engines)
    <script> ... </script> Inline script program (e.g., JavaScript, VBscript)
    <style> ... </style> Style sheet rules [IE3+, NN4+, OP3.6+]
    <title> ... </title> Document title (contains text only, no markup)
  <body> .. </body> Document body (contains what gets displayed)
    <address> ... </address> Address information
    <blockquote> ... </blockquote> Block quotation
    <center> ... </center> Center element contents (use div instead)
    <div> ... </div> Block division of document
    <hn> ... </hn> Headings, from h1 to h6
    <hr /> Horizontal rule or divider

  <p> ... </p> Paragraph
    <pre> ... </pre> Preformatted text (preserve white space characters)
    <form> ... </form> Fill-in form
      <keygen /> Create encrypted key to identify user [NN3+, OP3.6+]

    <button> ... </button> Advanced input button [IE4+, NN6]
      <fieldset> ... </fieldset> Grouped set of input elements [IE4+, NN6]
        <legend> ... </legend> Label for a fieldset [IE4+, NN6]
      <label> ... </label> Label for an input [IE4+, NN6]

    <input /> General input element (text, checkboxes, etc.)

    <select> ... </select> Selectable list of items
        <optgroup> </optgroup> Group of option elements in a selectable list [No support]

        <option> ... </option> Item in list (inside select or optgroup)
      <textarea> ... </textarea> Multi-line text input area
    <dl> ... </dl> Glossary or description list
      <dt> ... </dt> Term in list
      <dd> ... </dd> Term description
    <ol> ... </ol> Ordered list (., numbered)
      <li> ... </li> List item
    <ul> ... </ul> Unordered list (e.g., bulleted)
      <li> ... </li> List item
    <dir> ... </dir> Directory-style listing (use ul instead)
      <li> ... </li> List item
    <menu> ... </menu> Menu list (use ul instead)
      <li> ... </li> List item
    <table> ... </table> Tabular content (columns and rows)
      <caption> ... </caption> Table caption
      <colgroup> ... </colgroup> Define groups of columns [IE4+, NN6]
        <col /> Set column properties [IE4+, NN6]
      <tbody> ... </tbody> Group rows making up table body [IE4+, NN6]
      <tfoot> ... </tfoot> Group rows making up table footer [IE4+, NN6]
      <thead> ... </thead> Group rows making up table header [IE4+, NN6]
      <tr> ... </tr> Table row (preferably inside thead,tbody or tfoot)
        <td> ... </td> Table content -- data
        <th> ... </th> Table content -- header (row or column description)
    <multicol> ... </multicol> Multi-column text [NN4 only]
  <frameset> ... </frameset> Frameset document (replaces body element)
    <frame /> Defines frame content (using a URL)
    <frameset> ... </frameset /> Subdivides a frame into additional frames
    <noframes> ... </noframes> Alternate content ( if frames not supported)
      <body> ... </body> a body (containing, in turn, regular body content)

HTML and XHTML Quick Reference Charts: Inline Markup

Inline (Inclusion) Elements

<audioscope /> Display audio chart [WT only]

<applet> ... </applet> Inline program (applet)

<param /> Parameter for applet

<img /> Inline image

<iframe /> Inline frame [IE3+, NN6]

<embed /> Embed arbitrary data

<noembed> ... </noembed> Markup alternative to embed

<noscript> ... </noscript> Markup alternative to script

<object> ... </object> Embed data and/or data handling

program/applet [IE4+, NN4+]

<param /> Parameter for object

Inline (Character-like) Elements

<br /> Forced line break

<spacer /> Horizontal and/or vertical spacer

[NN4+ only]

<wbr /> Word break

Inline (Meta-Information) Elements

<basefont /> Set base font properties

<bgsound /> Background audio [IE3+ only]

<map> ... </map> Client-side imagemap

<area /> Region of map

<script> ... </script> Script program for browser

<server> ... </server> Script program to run

on server [Netscape servers only]

Netscape Layer Elements [NN4 only]

<layer> ... </layer> Overlay presentation layer

<ilayer> ... </ilayer> Overlay layer (relative positioning)

<nolayer> ... </nolayer> Alternative for non-layer


Inline - Hypertext Anchors

<a> ... </a> Hypertext anchor

Inline (Physical Markup) Elements

<b> ... </b> Bold face

<blackface> ... </blackface> Extra bold [WT only]

<bdo> ... </bdo> Bi-directional override [IE4+, NN6]

<big> ... </big> Bigger

<blink> ... </blink> Blinking [NN1+ only]

<font> ... <font> Change font properties

<i> ... </i> Italics

<marquee> ... </marquee> Scrolling text [IE3+ only]

<nobr> ... </nobr> No line break

<s> ... </s> Struck-through [Not by Opera]

<small> ... </small> Smaller

<span> ... </span> Inline text block [IE3+, NN4+, OP3.6+]

<strike> ... </strike> Struck-out

<sub> ... </sub> subscript [NN3+, IE3+, OP3.6+, WT]

<sup> ... </sup> superscript [NN3+, IE3+, OP3.6+, WT]

<tt> ... </tt> Fixed-width/monospace

<u> ... </u> Underline

Inline (Logical Markup) Elements

<abbr> ... </abbr> Abbreviation [NN6, OP4]

<acronym> ... </acronym> Acronym [IE4+, NN6, OP4]

<cite> ... </cite> Citation

<code> ... </code> Typed code

<dfn> ... </dfn> Definition

<em> ... </em> Emphasized

<kbd> ... </kbd> Keyboard input

<q> ... </q> Inline quotation [IE4+, NN6, OP4]

<samp> ... </samp> Sample text

<strong> ... </strong> Strongly emphasized

<var> ... </var> A variable

Special Markup: Inserted/Deleted Content

<del> ... </del> Deleted content [IE4+, NN6, OP4]

<ins> ... </ins> Inserted content [IE4+, NN6, OP4]

NOTE on Lynx Browser Support.

Lynx is a text-mode browser that does not render inline images, and that can generally only display text using one font (with, in some cases, reverse video, boldface and underlining). Thus many inline text-formatting styles are not possible with Lynx. If you want pages to work with lynx, you want to avoid inclusion, character-like (except br) and special markup elements, and restrict yourself to only simple physical/logical elements (e.g., em, strong). You will also want to avoid table elements, and framesets.


Simplified Element Content Rules for Inline Markup

Inclusion Elements

If they can take content (many, like img, cannot), they take content appropriate to their context (i.e., text or inline markup if they are themselves inline, block markup if they are a block)

Character-like & Meta-Information

Generally allowed inside any non-empty block or inline element that can appear inside the body (see also preceding page).

Netscape Layer Elements

Can contain almost any inline element or any element that can be placed inside the body element (see preceding page) -- they cannot appear in the document head.

Physical/Logical Text Markup

Can contain text or any of the other inline or special markup elements described above

Hypertext Anchors

Like physical or logical inline text markup, but cannot contain additional anchor elements.

Special Markup

Can contain text or almost any block or inline element, or any element that can be placed inside the body (see front cover)