HTML Elements

HTML elements or tags are used to define the content and meaning of a HTML document. Elements represent things; that is, they have intrinsic meaning, also known as semantics.

Element Types

There are two types of elements normal and void.

Normal Tags

Tags which wrap around content using opening and closing tags are considered normal.

Void Tags

Void or self-closing tags are expressed with a single tag. They do not wrap content because they have no end tag. The “/” is completely optional, so <img/> is not different from <img>, but <img></img> is invalid.

area, base, br, col, command, embed, hr, img, input, keygen, link, meta, param, source, track, wbr.



More Attribute Resources


The <main> element should contain the main content for your web page. All of this content should be unique to the individual page and should not appear elsewhere on the site. Any content that is repeated on multiple pages (logos, search boxes, footer links, etc.) should not be placed within the <main> element.

The main tag can only be used once per page and it can not be a descendant of an <article>, <aside>, <footer>, <header>, or <nav> element. According to IE11 does not currently support the main element, but use of the HTML5 Shiv will fix this.


More Resources


The <article> element should contain a piece of self-contained content that could be distributed outside the context of the page. This includes things like news articles, blog posts, or user comments.


        As my fellow HTML5 Doctor, Oli Studholme has showed, people seldom quote exactly – so sacrosanctity of the quoted text isn’t a useful ideal – and in print etc, 
citations almost always appear as part of the quotation – it’s highly conventional.
        - <cite>Bruce Lawson</cite>

More Blockquote Resources


            <td>A nice ball point pen.</td>
            <td>A package of top-shelf paper.</td>
            <td>Sturdy and powerful stapler</td>


The header element is not sectioning content; it doesn’t introduce a new section in a document outline.


The nav element is intended to contain links to other pages within the site. Links to external sites is discouraged. Optionally nav tags can be put inside header tags.


The Inline Frame Element <iframe> represents a nested browsing context, effectively embedding another HTML page into the current page.

Note: In order to improve speed, It’s a good idea to set the iframe’s src attribute with JavaScript after the main content is done loading. This makes your page usable sooner and decreases your official page load time (an important SEO metric.)