What is HTML?
Hyper Text Markup Language (HTML) is the standard markup language for creating Web pages.
- HTML describes the structure of a Web page
- HTML consists of a series of elements
- HTML elements tell the browser how to display the content
- HTML elements label pieces of content such as "this is a heading", "this is a paragraph", "this is a link", etc.
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.
- Web pages can be created and modified by using professional HTML editors.
- However, for learning HTML we recommend a simple text editor like Notepad (PC) or TextEdit (Mac).
- We believe in that using a simple text editor is a good way 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.
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:
- Coffee
- Tea
- Milk
HTML Attributes
HTML attributes provide additional information about HTML elements.
- All HTML elements can have attributes
- Attributes provide additional information about elements
- Attributes are always specified in the start tag
- Attributes usually come in name/value pairs like: name="value"
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.
- 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.
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:
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:
- src - Specifies the path to the image
- alt - Specifies an alternate text for the image
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">
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.
- 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.
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
- Some characters are reserved in HTML.
- If you use the less than (<) or greater than (>) signs in your text, the browser might mix them with tags.
- Character entities are used to display reserved characters in HTML.
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.
- 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.