HTML Basics

By Xah Lee. Date: . Last updated: .

This page is a basic, practical, 5 minutes tutorial of HTML.

Basic Structure

HTML is a very simple markup language. Here's a example. Save the following text in a file, name it sample.html, then open the file in a browser.

<!doctype html>

  <meta charset="utf-8" />
  <title>Sample HTML</title>

  <h1>Sample HTML</h1>
  <p>Earth is round!</p>


Basically, text are enclosed by tags. For example, in the above, the <html></html> wraps around the whole file indicating that the whole file is a HTML file.

<head></head> contains meta info about the file.

<title></title> gives the title of the file.

<body></body> are the content of the file.

<h1></h1> is the header of the content.

<p></p> is a paragraph.

Each of the <> is called a tag.

The opening and closing tag together is called a element. For example, <p></p> is called the “p element”.

Most Important Elements

Here is the most commonly used elements.

Headers h1 h2 h3...

There are h1 up to h6.


<p>some thing</p>

<p>“p” is for paragraph.<br />
The “br” is for line break inside paragraph.
Text can be marked bold by “b” tag, like this: <b>to boldly go </b>.
There's also “ifor <i>making text slanted/italicized</i>.

Computer Code, Literal Text

“pre” is for text formatted with linebreaks usually for computer code or poetry.

<pre> x = 3 print x + y </pre>

Unordered List

<li>list item 1</li>
<li>list item 2</li>

Ordered List

<li>ordered list item 1</li>
<li>ordered list item 2</li>

Generic Block Container, div

<div>some thing</div>

“div” is a general markup for a block of text. It is similar to “p”. “div” is usually used to group other elements inside.

<div>“div” is a general markup for a block of text. It
is similar to “p”. “div” is usually used to group other elements inside.</div>


For embeded image.

<img src="my_cat.jpg" alt="my cat" />







“span” is a general markup for inline text. Similar to the bold tag “b”

Self Closing Tags

Some element do not have a closing tag. For example,

<img src="cat.jpg" alt="my cat" width="320" height="240" />

These are called self-closing tags.

[see List of HTML Self-Closing Tags]

Element's Attributes

Each element may have “attributes”.

Attributes are name/value pairs.

The syntax for attributes is like this:

<p name="value"></p>


<p name></p>

The one without the equal sign is called boolean attributes. They are rare.

What attributed are allowed for each elements depends on the element.

Most Important Attributes: class, id

Two most frequently used attributes, can be used on any element, are class and id attributes.

<p class="xyz">“class” allows a element to be identified by CSS and JavaScript.</p>
<p id="x34">“id” allows a element to be identified by CSS and JavaScript. ID value must be unique per HTML page.</p>

A element can have many attributes. For example, here's a inline image:

<p id="x34" class="xyz">I traveled around the world.</p>

The class and id attributes are used by Cascading Style Sheet and JavaScript to identify a element.

Case Sensitivity

HTML/CSS Case Sensitivity

Versions of HTML

There are many versions of HTML and XHTML, and it is really a mess. If you are creating new pages, not maintaining old websites, i recommend HTML5. Put the following line at the beginning of your file.

<!doctype html>
JS in Depth

HTML Basics

HTML Table


HTML4 Frameset