Anatomy of an HTML element

Understanding the Anatomy of an HTML Element is a very basic and fundamental requirement if you claim yourself to know and work in HTML CSS. This post will be a part of my series of posts titled “Fundamentals of HTML CSS” (coming soon).

Before we begin Click here if you wish to learn HTM CSS for free?

What are we going to learn from this post?

    Anatomy of an HTML element – Basics

    Before we understand the anatomy of an HTML element we need to understand some basics.

    1. What is an HTML Element
    2. Types of HTML Elements

    What is an HTML Element?

    HTML elements are the building blocks of HTML document. You make use of an HTML element to insert any piece of information let it be a page heading, sub heading, a description, a list or an image.

    Another definition from wikipedia
    An HTML element is a type of HTML (Hypertext Markup Language) document component, one of several types of HTML nodes (there are also text nodes, comment nodes and others). … Each element can have HTML attributes specified. Elements can also have content, including other elements and text.

    HTML Element
    Example of an HTML Element

    HTML elements are also referred as HTML tags.

    Some of the examples of HTML elements are as follows

    • <html>
    • <head>
    • <body>
    • <h1>
    • <p>
    • <img />
    • <br>
    • <hr>

    Types of HTML Elements

    Basically there are 2 types of HTML elements.

    1. Pairing HTML element
    2. Empty or Inline HTML element

    Pairing HTML elements

    Pairing HTML elements have an opening and closing tag. they have the content in between. Lets take a look at an example of a pairing html element below:

    <h1>This is my page header</h1>

    As you can see the code above, we are making use of a <h1> tag that has some content and a following closing tag.

    Some examples of pairing html element

    • <html>
    • <head>
    • <body>
    • <p>
    • <h1>
    • <h2>
    • <h3>
    • <h4>
    • <h5>
    • <h6>
    • <ol>
    • <ul>
    • <li>

    Empty or Inline HTML Elements

    Empty or Inline HTML Elements do not have a opening or a closing tag, instead are self closing. Lets take a look at a few examples of empty or closing HTML element.

    <hr />

    The above code is an example of an <hr> element which is used to generate a horizontal line (divider) between 2 html elements.

    Here is another example of an empty or inline html element

    <img src="" />

    The above code is an example of an <img> element which is used to insert an image in a html document.

    Some examples of Empty or Inline html elements

    • <img />
    • <hr />
    • <br />

    Now that we have understood what is an HTML element and its 2 types. Lets us now understand the Anatomy of an HTML element

    Anatomy of an HTML element – the paragraph tag

    Anatomy of an HTML element - the paragraph tag
    Image Source –
    <p>My cat is very grumpy</p>

    The above code is an example of pairing html element ie. the paragraph element

    This code will render “My cat is very grumpy” in your html document when viewed in the browser.

    As you can see the above code comprises of the following 3 parts:

    The opening tag: This consists of the name of the element (in this case, p), wrapped in opening and closing angle brackets. This states where the element begins or starts to take effect — in this case where the paragraph begins.

    The closing tag: This is the same as the opening tag, except that it includes a forward slash before the element name. This states where the element ends — in this case where the paragraph ends. Failing to add a closing tag is one of the standard beginner errors and can lead to strange results.

    The content: This is the content of the element, which in this case, is just text.

    The element: The opening tag, the closing tag and the content together comprise the element.

    Anatomy of an HTML element – HTML Attributes

    Both the types of html elements can have attributes.

    Attributes contain extra information about the element that you don’t want to appear in the actual content.

    Let’s take a look an example of the paragraph tag with an attribute.

    HTML Attributes
    Image Source –

    In the example above the paragraph tag has an attribute named “class” that has a value=”editor-note”.

    An attribute should always have the following:

    • A space between it and the element name (or the previous attribute, if the element already has one or more attributes).
    • The attribute name followed by an equal sign.
    • The attribute value wrapped by opening and closing quotation marks.

    Please note, an element can have multiple values separated by a space.

    Anatomy of an HTML element – image tag

    Here is an example an empty html element with multiple attributes.

    Anatomy of an HTML element - image tag
    Image Source –
    <img src="images/firefox-icon.png" alt="My test image" />

    The code above is an example of an Image tag that has 2 attributes:

    1. The “src” attribute which is an acronym of “source” specifies the path and name of the image that needs to be displayed.
    2. The “alt” attribute which is the acronym of”alternate text” specifies what text to show incase if the image does not appear for whatever reason.

    An image tag can more attributes that we can study with our tags lesson.

    Anatomy of an HTML element – Nesting in HTML

    Nesting means you can have elements inside elements.

    Lets take a look at the example below:

    Nesting in HTML
    Image Source –
    <p>My cat is <strong>very</strong> grumpy</p>

    In the code we have nested a <strong> element inside the <paragraph> element.

    This is because I wanted to insist on the word “very” and to make it look bold.

    Another example of Nesting is the list element. Lets take a look at the code below:


    In the code above <ul> is the parent tag for an unordered list and <li> called as list elements are the child elements of an unordered list.

    A <li> element should always be nested inside a unordered (<ul>) or a ordered (<ol>) list element

    Please note : Nesting is only possible with Pairing elements and not with empty elements.

    Wrapping up

    I hope the examples above have cleared your fundamentals about the Anatomy of an HTML element.

    Stay tuned for more similar articles on the Fundamentals of HTML CSS.

    Leave a Reply

    Your email address will not be published. Required fields are marked *