What is HTML?

Hyper Text Markup Language (HTML) is the standard markup language for creating Web pages.


Example of a Simple HTML Document


  <!DOCTYPE html>
  <html>
    <head>
      <title>Page Title</title>
    <head>
    <body>  
      <h1>My First Heading</h1>
      <p>My first paragraph.</p>
    <body>
  <html>
          

Example Explained

  • The <!DOCTYPE html> declaration defines that this document is an HTML5 document
  • The <html> element is the root element of an HTML page
  • The <head> element contains meta information about the HTML page
  • The <title> element specifies a title for the HTML page (which is shown in the browser's title bar or in the page's tab)
  • The <body> element defines the document's body, and is a container for all the visible contents, such as headings, paragraphs, images, hyperlinks, tables, lists, etc.
  • The <h1> element defines a large heading
  • The <p> element defines a paragraph

HTML Elements

An HTML element is defined by a start tag, some content, and an end tag:

<tagname>Content goes here...</tagname>

The HTML element is everything from the start tag to the end tag:

<h1>My First Heading</h1>
<p>My first paragraph.</p>
Start Tag Element Content End Tag
<h1> My First Heading </h1>
<p> My first paragraph. </p>

Note: Some HTML elements have no content (like the <br> element). These elements are called empty elements. Empty elements do not have an end tag!

HTML Editors

A simple text editor is all you need to learn HTML.


Lorem ipsum dolor sit amet, consectetur adipisicing elit. Excepturi iste sed dicta vero illum dolore error distinctio quod. Accusantium repellendus, amet itaque ex asperiores facere reiciendis sapiente cumque qui natus.

an example notepad document with markup language written inside it
Tip: You can use either .htm or .html as file extension. There is no difference, it is up to you.

Laborum vitae praesentium assumenda laudantium repellendus facere dolor. Molestias tenetur unde, necessitatibus fugiat deleniti ea dignissimos consectetur, minima dolorem facere, est placeat. Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit hic voluptates omnis assumenda veniam debitis autem dolores tenetur in consequatur beatae eaque et eius aliquid iste quos, tempora explicabo. Sequi.

HTML Lists

HTML lists allow web developers to group a set of related items in lists.


Unordered HTML List

An unordered list starts with the <ul> tag. Each list item starts with the <li> tag. The list items will be marked with bullets (small black circles) by default.

Example


  <ul>
    <li>Coffee</li>
    <li>Tea</li>
    <li>Milk</li>
  </ul>
          

An unordered HTML list:

  • Coffee
  • Tea
  • Milk

Ordered HTML List

An ordered list starts with the <ol> tag. Each list item starts with the <li> tag. The list items will be marked with numbers by default.

Example


  <ol>
    <li>Coffee</li>
    <li>Tea</li>
    <li>Milk</li>
  </ol>
          

An ordered HTML list:

  1. Coffee
  2. Tea
  3. Milk

HTML Attributes

HTML attributes provide additional information about HTML elements.


The href Attribute

The <a> tag defines a hyperlink. The <href> attribute specifies the URL of the page the link goes to:


  <a href=
  "https://www.w3schools.com">
  Visit W3Schools</a>
          

The src Attribute

The <img> tag is used to embed an image in an HTML page. The <src> attribute specifies the path to the image to be displayed:


  <img src=
  "img_girl.jpg">
          

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et. Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere? Lorem ipsum dolor sit amet consectetur adipisicing elit.

HTML Headings

HTML headings are titles or subtitles that you want to display on a webpage.

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et. Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere? Lorem ipsum dolor sit amet consectetur adipisicing elit.

Note: Browsers automatically add some white space (a margin) before and after a heading.

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Qui dolor doloremque labore illum aperiam deleniti totam repellat nostrum error beatae necessitatibus praesentium quas cupiditate aut, ea laudantium, quod officiis sunt?

HTML Paragraphs

A paragraph always starts on a new line, and is usually a block of text.

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et. Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere? Lorem ipsum dolor sit amet consectetur adipisicing elit.


Laborum vitae praesentium assumenda laudantium repellendus facere dolor. Molestias tenetur unde, necessitatibus fugiat deleniti ea dignissimos consectetur, minima dolorem facere, est placeat. Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit hic voluptates omnis assumenda veniam debitis autem dolores tenetur in consequatur beatae eaque et eius aliquid iste quos, tempora explicabo. Sequi.

HTML Styles

The HTML style attribute is used to add styles to an element, such as color, font, size, and more.


Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et.

You will learn more about CSS later in this tutorial.

Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere? Lorem ipsum dolor sit amet consectetur adipisicing elit.

HTML Colors

HTML colors are specified with predefined color names, or with RGB, HEX, HSL, RGBA, or HSLA values.


Color Names

In HTML, a color can be specified by using a color name:

Red
Blue
Orange
Green

Color Values

rgb(255, 99, 71)

#ff6347

hsl(9, 100%, 64%)

The following two <div> elements have their background color set with RGBA and HSLA values, which adds an Alpha channel to the color (here we have 50% transparency):

rgba(255, 99, 71, 0.5)

hsla(9, 100%, 64%, 0.5)

Example


  <h1 style="background-color:
  rgb(255, 99, 71);">...</h1>
  <h1 style="background-color:
  #ff6347;">...</h1>
  <h1 style="background-color:
  hsl(9, 100%, 64%)">...</h1>

  <h1 style="background-color:
  rgba(255, 99, 71, 0.5)">...</h1>
  <h1 style="background-color:
  hsla(9, 100%, 64%, 0.5)">...</h1>
      

HTML Images

Images can improve the design and the appearance of a web page.


The HTML <img> tag is used to embed an image in a web page.

Images are not technically inserted into a web page; images are linked to web pages. The <img> tag creates a holding space for the referenced image.

The <img> tag is empty, it contains attributes only, and does not have a closing tag.

The <img> tag has two required attributes:

Syntax


  <img src="img_girl.jpg" 
  alt="alternatetext">
                

The src Attribute

The required <src> attribute specifies the path (URL) to the image.

Note: When a web page loads; it is the browser, at that moment, that gets the image from a web server and inserts it into the page. Therefore, make sure that the image actually stay in the same spot in relation to the web page, otherwise your visitors will get a broken link icon. The broken link icon and the alt text are shown if the browser cannot find the image.


  <img src="img_chania.jpg" 
  alt="Flowers in Chania">
      
green pines over mountain

HTML Tables

HTML tables allow web developers to arrange data into rows and columns.


Define an HTML Table

The <table> tag defines an HTML table.

Each table row is defined with a <tr>tag. Each table header is defined with a <th> tag. Each table data/cell is defined with a <td> tag.

By default, the text in <th> elements are bold and centered.

By default, the text in <td> elements are regular and left-aligned.

Company Contact Country
Island Trading Maria Anders Germany
Laughing Bacchus Winecellars Yoshi Tannamuri Canada

HTML Classes

The HTML <class> attribute is used to specify a class for an HTML element.

Multiple HTML elements can share the same class.


Lorem ipsum dolor sit amet consectetur adipisicing elit. Dolor, hic dolorem. Quod, voluptate officia. Impedit odio, vitae deleniti molestias at sunt laboriosam, rerum quia soluta, delectus nihil accusamus necessitatibus dolorem! Lorem ipsum dolor sit, amet consectetur adipisicing elit. Debitis, voluptatibus unde consequuntur mollitia praesentium eligendi voluptatem eum, at nihil neque tenetur vero fuga voluptatum provident illum, repellat ducimus. Atque, sit.

Tip: The class attribute can be used on any HTML element.

Note: The class name is case sensitive!

HTML Id

The HTML id attribute is used to specify a unique id for an HTML element.

You cannot have more than one element with the same id in an HTML document.


Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et.Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere? Lorem ipsum dolor sit amet consectetur adipisicing elit. Laborum vitae praesentium assumenda laudantium repellendus facere dolor.


Molestias tenetur unde, necessitatibus fugiat deleniti ea dignissimos consectetur, minima dolorem facere, est placeat. Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit hic voluptates omnis assumenda veniam debitis autem dolores tenetur in consequatur beatae eaque et eius aliquid iste quos, tempora explicabo. Sequi. Lorem ipsum dolor sit amet consectetur adipisicing elit. Sapiente delectus commodi quos ex culpa, placeat cumque consequatur! Quae, quisquam quaerat molestias eveniet minus dolorum debitis natus illum modi delectus maxime.

HTML Responsive

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et. Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere?

Tip: If you are browsing this page on a phone or a tablet, you can click on the two links above to see the difference.

Lorem ipsum dolor sit amet consectetur adipisicing elit. Laborum vitae praesentium assumenda laudantium repellendus facere dolor. Molestias tenetur unde, necessitatibus fugiat deleniti ea dignissimos consectetur, minima dolorem facere, est placeat. Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit hic voluptates omnis assumenda veniam debitis autem dolores tenetur in consequatur beatae eaque et eius aliquid iste quos, tempora explicabo. Sequi. Lorem ipsum dolor sit amet consectetur adipisicing elit. Sapiente delectus commodi quos ex culpa, placeat cumque consequatur! Quae, quisquam quaerat molestias eveniet minus dolorum debitis natus illum modi delectus maxime.

HTML Entities

Reserved characters in HTML must be replaced with character entities.

HTML Entities

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et. Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere? Lorem ipsum dolor sit amet consectetur adipisicing elit. Laborum vitae praesentium assumenda laudantium repellendus facere dolor. Molestias tenetur unde, necessitatibus fugiat deleniti ea dignissimos consectetur, minima dolorem facere, est placeat. Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit hic voluptates omnis assumenda veniam debitis autem dolores tenetur in consequatur beatae eaque et eius aliquid iste quos, tempora explicabo. Sequi. Lorem ipsum dolor sit amet consectetur adipisicing elit. Sapiente delectus commodi quos ex culpa, placeat cumque consequatur! Quae, quisquam quaerat molestias eveniet minus dolorum debitis natus illum modi delectus maxime.

HTML Symbols

Symbols that are not present on your keyboard can also be added by using entities.


HTML Symbol Entities

Many mathematical, technical, and currency symbols, are not present on a normal keyboard. To add such symbols to an HTML page, you can use the entity name or the entity number (a decimal or a hexadecimal reference) for the symbol.


Char Number Entity
∀ &# 8704; & forall;
∂ &# 8706; & part;

Laborum vitae praesentium assumenda laudantium repellendus facere dolor. Molestias tenetur unde, necessitatibus fugiat deleniti ea dignissimos consectetur, minima dolorem facere, est placeat. Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit hic voluptates omnis assumenda veniam debitis autem dolores tenetur in consequatur beatae eaque et eius aliquid iste quos, tempora explicabo. Sequi.

HTML Emojis

Emojis are characters from the UTF-8 character set: 😄 😍 💗


What are Emojis?

Emojis look like images, or icons, but they are not. They are letters (characters) from the UTF-8 (Unicode) character set.

UTF-8 covers almost all of the characters and symbols in the world.

Laborum vitae praesentium assumenda laudantium repellendus facere dolor. Molestias tenetur unde, necessitatibus fugiat deleniti ea dignissimos consectetur, minima dolorem facere, est placeat. Lorem ipsum dolor sit amet consectetur adipisicing elit. Reprehenderit hic voluptates omnis assumenda veniam debitis autem dolores tenetur in consequatur beatae eaque et eius aliquid iste quos, tempora explicabo. Sequi.

HTML Style Guide

A consistent, clean, and tidy HTML code makes it easier for others to read and understand your code.

Here are some guidelines and tips for creating good HTML code.


Always Declare Document Type

Lorem, ipsum dolor sit amet consectetur adipisicing elit. Esse debitis praesentium odit est inventore tenetur modi itaque impedit neque tempora mollitia consequuntur minima laboriosam, expedita laborum corrupti voluptas voluptatum et. Lorem ipsum dolor sit amet consectetur adipisicing elit. Natus beatae consequuntur commodi alias laborum inventore qui dicta autem ut error id, sit dolorem vel quibusdam corporis libero aliquid praesentium facere? Lorem ipsum dolor sit amet consectetur adipisicing elit.

Use Lowercase Element Names

HTML allows mixing uppercase and lowercase letters in element names.