Let us break the code up in different components:
<html> … </html>
This tag specifies that the webpage is written in HTML. It appears at the very first and last line of the webpage. It is mainly used to show that the page uses HTML5 – the latest version of the language. Also known as the root element, this tag can be thought of as a parent tag for every other tag used in the page.
<head> … </head>
This tag is used to specify meta data about the webpage. It includes the webpage’s name, its dependencies (JS and CSS scripts), font usage etc.
Example
<html>
<head>
<title>My First Website</title>
</head>
<body>
</body>
</html>
<base/>
Used to specify the base URL of your site,
this tag makes linking to internal links on your
site cleaner.
<meta/>
This is the meta data tag for the webpage.
Can be useful for mentioning the page’s author,
keywords, original published date etc.
<link/>
This is used to link to scripts external to
the webpage. Typically utilized for including
stylesheets.
<style > … </style>
The style tag can be used as an alternative to
an external style sheet, or complement it.
Includes the webpage’s appearance information.
<script> … </script>
Used to add code snippets, typically in JavaScript,
to make webpage dynamic. It can also be used to
just link to an external script.
Document Structire
< h1..h6 > … </ h1..h6 >
Six different variations of writing a heading.
<h1>
Has the largest font size, while
<h6>
Has the smallest.
<div> … </div>
A webpage’s content is usually divided into
blocks, specified by the div tag.
<span> … </span>
This tag injects inline elements, like an image,
icon, emoticon without ruining the formatting
/ styling of the page.
<p> … </p>
Plain text is placed inside this tag.
<br/>
A line break for webpages. Is used when
wanting to write a new line.
<hr/>
Similar to the above tag. But in addition to
switching to the next line, this tag also draws
a horizontal bar to indicate the end
of the section.
Example
<h1> Top 5 Greatest Films </h1>
<p>These are considered the greatest
<span>reel-icon</span> of all time </p>
<hr/>
<h2>1. The Godfather</h2>
<p>This 1972 classic stars Marlon Brando and
Al Pacino.</p>
Text Formating
<strong> … </strong>
Makes text bold. Used to emphasize a point
<b> … </b>
Alternative to the above tag, also creates bold text.
<em> … </em>
Another emphasis tag, but this displays text
in italics.
<i> … </i>
Also used to display text in italics, but does not
emphasize it like the above tag.
<tt> … </tt>
Formatting for typewriter-like text. No longer
supported in HTML5.
<strike> … </strike>
Another old tag, this is used to draw a line at
the center of the text, so as to make it appear
unimportant or no longer useful.
<cite> … </cite>
Tag for citing author of a quote.
<del> … </del>
Pre-formatted, ‘monospace’ text laid out with
whitespace inside the element intact.
<ins> … </ins>
Denotes text that has been inserted into
the webpage.
<blockquote> … </blockquote>
Quotes often go into this tag. Is used in tandem with
the <cite>
tag.
<q> … </q>
Similar to the above tag, but for shorter quotes.
<abbr> … </abbr>
Denotes abbreviations, along with the full forms.
<acronym> … </acronym>
Tag for acronyms. No HTML5 support.
<address> … </address>
Tag for specifying author’s contact details.
<dfn> … </dfn>
Tag dedicated for definitions.
<code> … </code>
This is used to display code snippets within
a paragraph.
<sub> … </sub>
Used for writing a subscript (smaller font just
below the mid-point of normal font). Example: ax
<sup> … </sup>
Similar to the above tag, but for superscripting.
<small> … </small>
Reduces text size. In HTML5, it often refers to
redundant or invalid information.
Example
<strong>Bold text</strong>
Regular text
<em>some words in italics</em>
regular text once again.
<blockquote>
Anyone who has never made a mistake has never tried anything new.<cite>- Albert Einstein</cite>
</blockquote>
<pre>
Some pre-formatted text
</pre>
A code snippet: <code>some code</code>
Links
<a href=””> … </a>
Anchor tag. Primarily used for including
hyperlinks.
<a href=”mailto:”> … </a>
Tag dedicated to sending emails.
<a href=”tel://###-###”> … </a>
Anchor tag for mentioning contact numbers.
As the numbers are clickable, this can be
particularly beneficial for mobile users.
<a name=”name”> … </a>
This tag can be used to quickly navigate to
a different part of the webpage.
<a href=”#name”> … </a>
A variation of the above tag, this is only meant
to navigate to a div section of the webpage.
Imgages
<img />
A tag to display images in the webpage.
src=”url”
The URL or path where the image is located on
your drive or on the web.
alt=”text”
The text written here is displayed when user
hovers mouse over the image. Can be used to
give additional details of the image.
height=””
Specifies image height in pixels or percentages.
width=””
Specifies image width in pixels or percentages.
align=””
The relative alignment of the image. Can change
with changes to other elements in the webpage.
border=””
Specifies border thickness of the image. If not
mentioned, defaults to 0.
<map> … </map>
Denotes an interactive (clickable) image.
<map name=””> … </map>
Name of the map associated between the image
and the map.
<area />
Specifies image map area.
shape=””
Shape of the area.
coords=””
Coordinates of the vital information of the shape.
Example:
vertices for rectangles, center/radius
for circles.
Example
<img
src="planets.gif"
width="145"
height="126"
alt="Planets"
usemap="#planetmap"
/>
<map name="planetmap">
<area
shape="rect"
coords="0,0,60,100"
href="sun.htm"
alt="Sun"
/>
<area
shape="circle"
coords="90,58,3"
href="mercur.htm" alt="Mercury"
/>
<area
shape="circle"
coords="124,58,8"
href="venus.htm"
alt="Venus">
/>
</map>
Lists
<ol> … </ol>
Tag for ordered or numbered list of items.
<ul> … </ul>
Contrary to the above tag, used for unordered
list of items.
<li> … </li>
Individual item as part of a list.
<dl> … </dl>
Tag for list of items with definitions.
<dt> … </dt>
The definition of a single term inline with
body content.
<dd> … </dd>
The description for the defined term.
Example
<ol>
<li>Monday</li>
<li>Tuesday</li>
<li>Wednesday</li>
</ol>
<ul>
<li>France</li>
<li>Germany</li>
<li>Italy</li>
</ul>
<dl>
<dt>Toyota</dt>
<dd>Japanese car brand</dd>
<dt>Armani</dt>
<dd>Italian fashion brand</dd>
</dl>
Forms
<form> … </form>
The parent tag for an HTML form.
action=”url”
The URL listed here is where the form data
will be submitted once user fills it.
method=””
It specifies which HTTP method (POST or GET)
would be used to submit the form.
enctype=””
Only for POST method, this dictates the data
encoding scheme to be used when form
is submitted.
autocomplete
Determines if the form has auto-complete enabled.
novalidate
Determines whether the form should be validated
before submission.
accept-charsets
Determines character encodings when form
is submitted.
target
After submission, the form response is displayed
wherever this refers to, usually has the following
values: _blank, _self, _parent, _top
<fieldset> … </fieldset>
Identifies the group of all fields on the form.
<label> … </label>
This is used to label a field in the form.
<legend> … </legend>
This operates as a caption for the <fieldset>
element.
<input />
This tag is used to take input from the user.
Input type is determined by a number of attributes.
Input Type Attributes
type=””
Determines which type of input (text, dates,
password) is requested from the user.
name=””
Specifies the name of the input field.
value=””
Specifies the value contained currently in
the input field.
size=””
Determines the input element width
(number of characters).
maxlength=””
Specifies the most input field characters allowed.
required
Makes an input field compulsory to be filled by
the user. The form cannot be submitted if a required
field is left empty.
width=””
Determines the width of the input element,
in pixel values.
height=””
Determines the height of the input element,
in pixel values.
placeholder=””
Can be used to give hints to the user about the nature
of the requested data.
pattern=””
Specifies a regular expression, which can be used to
look for patterns in the user’s text.
min=””
The minimum value allowed for an <input>
element.
max=””
The maximum value allowed for an <input>
element.
autofocus
Forces focus on the input element when webpage
loads completely.
disabled
Disables the input element. User can no longer
enter data.
<textarea> … </textarea>
For longer strings of input. Can be used to get
multi-sentence text from the user.
<select> … </select>
This tag specifies a list of options which the user
can choose from.
Select Attrubutes
name=””
The name of a particular list of options.
size=””
Total number of options given to the user.
multiple
States whether the user can choose multiple
options from the list.
required
Specifies whether choosing an option/s is
necessary for form submission.
autofocus
Specifies that a drop-down list automatically
comes into focus after a page loads.
<option> … </option>
Tag for listing individual items in the list
of options.
Option Attrubutes
value=””
The text visible to the user for any given option.
selected
Determines which option is selected by default
when the form loads.
<button> … </button>
Tag for creating a button for form submission.
Example
<form action="form_submit.php" method="post">
<fieldset>
<legend>Bio:</legend>
<label>
First name:
<input
type="text"
name="first-name"
value="John"
placeholder="Please enter your first name here"
/>
</label>
<label>
Last name:
<input
type="text"
name="last-name"
value="Doe"
placeholder="Please enter your last name here"
/>
<label>
Favorite sport:<br>
<select>
<option value="soccer">Soccer</option>
<option value="tennis">Tennis</option>
<option value="golf">Golf</option>
</select>
<textarea name="description"></textarea>
<button type="submit">Submit</button>
</fieldset>
</form>
Table
<table> … </table>
Marks a table in a webpage.
<caption> … </caption>
Description of the table is placed inside this tag.
<thead> … </thead>
Specifies information pertaining to specific
columns of the table.
<tbody> … </tbody>
The body of a table, where the data is held.
<tfoot> … </tfoot>
Determines the footer of the table.
<tr> … </tr>
Denotes a single row in a table.
<th> … </th>
The value of a heading of a table’s column.
<td> … </td>
A single cell of a table. Contains the actual
value/data.
<colgroup> … </colgroup>
Used for grouping columns together.
<col>
Denotes a column inside a table.
Example
<table>
<colgroup>
<col span="2">
<col>
</colgroup>
<tr>
<th>Name</th>
<th>Major</th>
<th>GPA</th>
</tr>
<tr>
<td>Bob</td>
<td>Law</td>
<td>3.55</td>
</tr>
<tr>
<td>Alice</td>
<td>Medicine</td>
<td>3.61</td>
</tr>
</table>
Objects and IFrames
<object> … </object>
This tag is used to embed additional multimedia into
a webpage. Can be audio, video, document (pdf) etc.
height=””
Determines object height in pixel values.
width=””
Determines object width in pixel values.
type=””
The type/format of the object’s contents.
<iframe> … </iframe>
An inline block of content, this is used as a container
for multimedia in a flexible manner. It floats inside
a webpage, meaning it is placed relative to other
webpage items.
IFrame Attributes
name=””
The name of the iFrame.
src=””
The source URL/path of the multimedia object
to be held inside the iFrame.
srcdoc=””
Any HTML content to be displayed inside
the iFrame.
height=””
Determines the height of the iFrame.
width=” ”
Determines the width of the iFrame.
<param />
For iFrame customization. This includes
additional parameters to go along with
the content.
<embed> … </embed>
This is used to embed external objects, like
plugins (e.g. a flash video).
Embet Attributes
height=”“
Determines the height of the embedded item.
width=”“
Determines the width of the embedded item.
type=””
The type or format of the embedded content.
src=””
The URL/path of the embedded item.
Example
<object
width="1000"
height="1000">
</object>
<iframe
src="some_other_webpage.html"
width="500"
height="500">
</iframe>
<embed
src="some_video.swf"
width="500"
height=“500">
</embed>
HTML 5 New Tags
<header> … </header>
Specifies the webpage header. Could also be used
for objects inside the webpage.
<footer> … </footer>
Specifies the webpage footer. Could also be used
for objects inside the webpage.
<main>…</main>
Marks the main content of the webpage.
<article>…</article>
Denotes an article.
<aside> … </aside>
Denotes content displayed in a sidebar of
the webpage.
<section>…</section>
Specifies a particular section in the webpage.
<details> … </details>
Used for additional information. User has
the option to view or hide this.
<summary> … </summary>
Used as a heading for the above tag. Is always
visible to the user.
<dialog>…</dialog>
Used to create a dialog box.
<figure>…</figure>
A tag reserved for figures (diagrams, charts) in HTML5.
<figcaption> … </figcaption>
A description of the figure is placed inside these.
<mark>…</mark>
Used to highlight a particular portion of the text.
<nav>…</nav>
Navigation links for the user in a webpage.
<menuitem>…</menuitem>
A particular item from a list or a menu.
<meter>…</meter>
Measures data within a given range.
<progress>…</progress>
Typically used as a progress bar, this is used to
track progress.
<rp>…</rp>
This tag is meant for showing text for browsers
without ruby annotation support.
<rt>…</rt>
Displays East Asian typography character details.
<ruby>…</ruby>
Describes a Ruby annotation for East Asian
typography
<time>…</time>
Tag for formatting date and time.
<wbr>
A line-break within the content.
Collective Character Object
" "
Quotation Marks - “
< <
Less than sign - <
> >
Greater than sign - >
 
Non-breaking space
© ©
Copyright symbol - ©
& &
Ampersand - &
@ Ü
@ Symbol - @
• ö
Small bullet - •
™ û
Trademark symbol - ™