The Document Tree Structure

The Document Tree Structure

Element.How also offers premium tutorials! Check them here:

Table of Contents

In the previous chapters of our HTML course, we learned extensively about HTML elements and, in most cases, nested some inside others. All webpage elements are related in one way or another, with clearly defined relationships.

When we learned about header and footer tags in our HTML Body Fundamentals chapter, we created both elements and placed others inside them. For example, the header tag had <div>, <ul>, and <li> elements resting inside it, with the <li> tags sitting inside the <ul> tag.

Their presentation shows some relationship, and that's part of what forms the HTML document tree.

Understanding The HTML Document Tree

Access tutorial

$99/one time Purchase access


  • Gain Access to This TutorialUnlock complete access to the current tutorial:
  • Future UpdatesYou will get access to all future updates to this tutorial.
  • Enjoy Unlimited UsageUse on as many of your own sites or your clients sites as you wish.

    Note that reselling or redistributing is not permitted.

Access everything

$299/one time Purchase All Access


  • Unlock every premium tutorial on Element.howGet access to the entire library of premium tutorials on
    Preview premium tutorials
  • Get access to the CSS course for Elementor usersAccess the complete 14 HTML chapters, 30 CSS chapters and 7 Elementor Projects.Learn more
  • Simple CSS Grid For ElementorAn Elementor Addon to Create Awesome Grid Layouts in a Single Click for Containers, Galleries and Loop Grid. Learn more
  • free extra: Premium AccessLifetime Premium Access to ShapeDividers.comVisit
  • 30 day money backNo questions asked money back. Not what you expected? Get a refund.
  • One-time payment of only $299No hidden fees or subscriptions.

    Sales taxes added where applicable.
  • Great supportGet help when you need it. Support includes getting things working as intended.

    Support excludes customization work.
  • Lifetime access to everything Element.howThe price reflects what is currently available on All future updates are included, but none are promised. You pay for what is available now, and the rest is a sweet extra.

    I will say that it is definitely my intention to keep adding tutorials to
* All prices are USD. Applicable taxes will be charged at checkout. Have a question? See the FAQ or email me. also provides premium tutorials showing awesome advanced designs, check them out here.

Looking for something else? Search across 2737 Elements right here:

Checkout the Elementor Addon Finder directly

6 Responses

  1. Thank you for explaining this so clearly! I think this the the first time I feel I truly understand the html tree's terminology.

  2. Hi Maxime! SO HELPFUL! I tried running a couple of sites through the W3C validation test, and OH BOY! I have some work. I noticed many, many training slash errors. Does Elementor add those automatically, because I don’t think I’m doing that. Cheers! Sandy

    1. Hey Sandy!

      Yea the W3C validation is strict... don't put too much weight on it. And be careful with what it classes as "warnings" and as "errors". Errors really should be fixed. Warnings can sometimes be ignored without problems.

  3. Which is which? What is <section> in the example given the below statements in this tutorial? Is it an "ancestor", a "parent", or "both"?

    1. "The <section> element is an ancestor to the <h1>, <p>, <ul> and <li> elements."
    2. "A parent is any element that's directly above another in the family structure."

    1. Hey Romel!

      In that example, the <section> element is an ancestor to the <h1>, <p>, <ul> and <li> elements.

      However, it is a parent element only to the <section> element is an ancestor to the <h1>, <p>, <ul> elements.

      Because the <li> elements are not direct children, the <section> is not a parent element of them.

      I hope this clarifies it!


  4. Correct me if my understanding of your reply is wrong - <section> is both a parent and ancestor to <h1>, <p>, and <ul> but only an ancestor to <li> while <ul> is a parent to <li>. Did I get that right?

Leave a Reply