HTML element
In computing, an HTML element (instance) in terms of SGML is the complete sequence of a start tag (with attributes and their valuess), any embedded HTML content, and the end tag. A special case is empty elements that don't have contents and end tags. Due to the constraints of the DTDss, various parts, including start and end tag, may be omitted in HTML, but not XHTML.The entire element is sometimes called a "tag", to the consternation of some purists. This is an example of synecdoche.
Most but not all HTML elements can be "nested": <p><em>You</em>rock!</p> has an EM elemenent nested inside a P element. This can become more complex, for example <h1>Children that <em>do <font color="red">not</font> clean up<em> their rooms</h1>. Nesting may be arbitrarily deep.
It is important to remember that a so-called 'block-level' element cannot be nested inside another block-level element, and that tags must be closed in the reverse order that they've been opened.
Wrong: <p><font face="Tahoma">Lucy kissed <em>Jimmy</p></font></em>
Right: <p><font face="Tahoma">Lucy kissed <em>Jimmy</em></font></p>
"Nesting"
Header tags
<html>, </html>
Delimit a HTML document (i.e. instead of an XML or another class document).<head>, </head>
Delimit the header section of the document, which contains information about the page.<body>, </body>
Delimit the body section of the document, which contains the displayed content of the page.<title>, </title>
Delimit the page title. Depending on the user agent and the operating system it is rendered in various ways: in web browsers it is usually displayed in the browser's title bar; in the task bar when the window has been minimized; it can be taken as default for the name of the file when saving the page, etc.. The title element is special in that it cannot contain any other tags: all tags in the title must be rendered as if they are text. So <title>My <b>first</b> webpage</title> will render as "My <b>first</b> webpage", and not "My first webpage". Keep this in mind.
<meta>, </meta>This tag has many uses: it can be used to specify a page description, keywords, and the special form <meta http-equiv="foo"> is used to specify commands which should be sent as HTTP headers.
<link>, </link>Specifies any link types for the document, such as previous and next links, or alternate versions. Its most common use is to link an external stylesheet to the page.
<base> (XHTML: <base />) DEPRECATEDSpecifies base values for links, such as location or target.
<isindex> (XHTML: n/a) DEPRECATEDUsed to create a primitive search on specially configured servers. Do not use this tag.
<script>, </script>Used to include Javascript or other scripts in the document.
<style>, </style>Used to associate inline stylesheets with the document.
The following are block level elements:
Body tags
Headings
<h1></h1>, <h2></h2>, <h3></h3>, <h4></h4>, <h5></h5>, <h6></h6>
Section headings at different levels. Use H1 for a high-level heading (for example the document title), H2 for a lower-level heading (a major section), H3 for a level below that (for example a subsection), etc.. The lowest level heading is H6. Most webbrowsers will show H1 as large text in a different font, and H6 as small boldfaced text, but this can be overridden with CSS.
Do not use Hn to get big text.Text containers
<p>, </p>
Create a paragraph.<blockquote>, </blockquote>
Create a block quotation; conventionally displayed indented, but not to be misused to indent text. May have automatically generated quotes. The "cite" attribute may give the source, and must be a fully qualified URL.<pre>, </pre>
Preformatted text. (Text will be displayed in a non-proportional font exactly as it is laid out in the file). See : ASCII art. With CSS: {white-space: pre;}
<address>, <address>Use to markup address information.
Note: HTML can only specify the form appearance; processing of the user's input must be done with a server-side script.
Lists
<dl>, </dl>
Creates a definition list (consisting of definition terms paired with definitions). Can also be used to specify speakers and quoted text.<ol>, </ol>
Creates an ordered (numerated) list. The 'type' attribute can be used to specify the kind of ordering, but CSS gives more control. {list-style-type: foo;}. Default is Arabic numbering.<ul>, </ul>
Creates an unordered list. CSS can be used to specify the list marker: { list-style-type: foo}. Default is a disc.<dir>, </dir> DEPRECATED
Delimits a directory listing. Don't use, use <ul> instead.<menu>, </menu> DEPRECATED
Creates a menu listing. Should be more compact than an <ul> list, but badly supported. Use <ul> instead.Tables
<table>, </table>
Creates a tableForms
<form>, </form>
Creates a form.Other containers
<div>, </div>
Creates a logical page division. Mainly for use with CSS.<center>, </center> DEPRECATED
Creates a centered division. May also center-align all text. Don't use, use <div align="center"> instead.<hr> (<hr /> in XHTML)
Inserts a horizontal rule.<object>, </object>
Includes an object in the page of the type specified by the type attribute. This may be any MIME Type the webbrowser understands, such as an embedded page (see <iframe>), a plug-in such as Flash, or a soundfile.
- <param> (XHTML: <param />)
- This tag may only appear inside Object, and sets parameters for the object. For example width, height, or the URL of the content.
<embed>, </embed> UNOFFICIALCalls a plug-in handler for the type specified by the type attribute. Used for embedding Flash files, soundfiles etc.. Use <object> instead.
- <noembed>, </noembed> UNOFFICIAL
- Specifies alternative content, if the embed cannot be rendered.
<applet>, </applet< UNOFFICIALIncludes a Java applet in the page. Use <object> insstead.
- <param> (XHTML: <param />)
- See above.
Logical markup
<em>, </em>; <strong>, </strong>
Emphasis (conventionally displayed in italics) and strong emphasis (conventionally displayed bold). An aural user agent may use different voices for emphasis.<q>, </q>
A short inline quotation. This should be rendered with generated quote marks. Quotes may be nested, in which case quote marks should be correct for the document language. The "cite" attribute gives the source, and must be a fully qualified URL.
<code>, </code>A code snippet. This may be rendered centered and with a monospace font.
<del>, </del>Deleted text. Typically rendered with a line through the text.
<ins>, </ins>Inserted text. Often used to markup replacement text for <del>'d text. Typically rendered underlined.
<dfn>, </dfn>; <samp>, </samp>; <kbd>, </kbd>; <var>, </var> DEPRECATEDDefinition, Sample Text, Keyboard Input, Variable: do not use any of these tags, but use <code> instead.
All presentational tags are deprecated, Cascading Style Sheets (CSS) should be used instead. Both are shown below, use CSS!
Presentational markup
<font>, </font>
Sets font sizes in seven intervals using the "size" attribute from 1 to 7. Can also be used to set the text color using the "color" attribute, and to change the font used by the "face" attribute.
Preferred usage is through CSS.<b>, </b>
Use boldface type. Preferred usage is through CSS: {font-weight: bold;}<i>, </i>
Use italic type. With CSS: {font-style: italic;}<tt>, </tt>
Use a typewriter-like (fixed-width) font. With CSS: {font-family: monospace;}
<s>, </s>; <strike>, </strike>Create strike-through text. With CSS: {text-decoration: line-through;}
<big>, </big>; <small>, </small>Creates bigger/smaller text. With CSS: {font-size: foo;}
<sub>, </sub>; <sup>, </sup>Create subscript or superscript text. With CSS: {vertical-align: sub;} or {vertical-align: super;}
Links and anchors
<a>, </a>
Creates an element that becomes a hyperlink with the "href" attribute set to a URL and becomes an anchor with the "name" attribute set, which preceded by a hash sign acts as a link target. Any element can be made into an anchor by using the 'id' attribute, so using <a name="foo"> is not necessary.
Images
<img> (<img /> in XHTML)
Includes an image with the "src" attribute, the required "alt" provides alternative text in case the image cannot be displayed. Alt is NOT a tooltip, use the "title" attribute for that.
- Example:

Others
<br> (<br /> in XHTML)Specifies a line-break. Can also be done with CSS: {break: left|right|all}
<map>, </map>Specifies a client-side image map.
- <area> (<area /> in XHTML)
- Specifies an area in the map.
<blink>, </blink> UNOFFICIALCauses text to blink. One of the two most hated tags in HTML. Can be done with CSS: {text-decoration: blink;}
<marquee>, </marquee> UNOFFICIALCreates scrolling text. The other most hated tag in HTML. No equivalent with CSS, use scripting instead.
<!--, -->Creates a comment. This is an SGML tag and not limited to HTML, and as such it may appear anywhere in the document, even before the DTD or after </html>. Its contents and any tags inside it should not be rendered and will remain invisible. Do not forget to close your comments, or a large part of your page may disappear. For historic reasons (compatibility with some pre-1995 browsers) SGML comments are sometimes used inside <style> or <script> tags, but this is not necessary and may in fact cause undesired effects.