HTML Concepts: Kinds of Elements
Published on May 31, 2023, filed under development, html (feed). (Share this on Mastodon or Bluesky?)
There are six (not two, five, or eight) different kinds of elements in HTML:
- Void elements:
area
,base
,br
,col
,embed
,hr
,img
,input
,link
,meta
,source
,track
, andwbr
- Raw text elements:
script
andstyle
- Escapable raw text elements:
textarea
andtitle
- The template element:
template
- Foreign elements: elements from the MathML and SVG namespaces
- Normal elements: all other allowed HTML elements
This classification is useful because these elements differ in key aspects. Void elements have no contents (they have no end tag, even if we wanted one). The template
element contains template contents. MathML and SVG relate to different specifications (and may therefore not even be counted as HTML elements).
As always (consider the Web Developer’s Pilgrimage), the HTML specification has the details: § 13.1.2 Elements. And this is part of a series: more HTML concepts.
About Me
I’m Jens (long: Jens Oliver Meiert), and I’m a web developer, manager, and author. I’ve been working as a technical lead and engineering manager for small and large enterprises, I’m an occasional contributor to web standards (like HTML, CSS, WCAG), and I write and review books for O’Reilly and Frontend Dogma.
I love trying things, not only in web development and engineering management, but also in other areas like philosophy. Here on meiert.com I share some of my experiences and views. (I value you being critical, interpreting charitably, and giving feedback.)