Every HTML element belongs to zero or more content categories that define where it can appear and what it can contain.
Each element's content model specifies which categories it accepts as children.
Learn more on MDN →
The broadest category. Most elements that can appear inside <body> are flow content. This includes block-level elements, inline elements, and everything in between.
Block
<address>
<article>
<aside>
<blockquote>
<details>
<dialog>
<div>
<dl>
<fieldset>
<figure>
<footer>
<form>
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<header>
<hgroup>
<hr>
<main>
<menu>
<nav>
<noscript>
<ol>
<p>
<pre>
<search>
<section>
<ul>
Inline
<a>
<abbr>
<area>
<b>
<bdi>
<bdo>
<br>
<cite>
<code>
<data>
<datalist>
<del>
<dfn>
<em>
<i>
<ins>
<kbd>
<label>
<map>
<mark>
<meter>
<output>
<progress>
<q>
<ruby>
<s>
<samp>
<slot>
<small>
<span>
<strong>
<sub>
<sup>
<time>
<u>
<var>
<wbr>
Inline replaced
<audio>
<button>
<canvas>
<embed>
<iframe>
<img>
<input>
<object>
<picture>
<select>
<svg>
<textarea>
<video>
Hidden
<script>
<template>
Text and inline-level elements. A subset of flow content. Elements like <p>, <h1>, and <button> only accept phrasing content as children.
Inline
<a>
<abbr>
<area>
<b>
<bdi>
<bdo>
<br>
<cite>
<code>
<data>
<datalist>
<del>
<dfn>
<em>
<i>
<ins>
<kbd>
<label>
<map>
<mark>
<meter>
<output>
<progress>
<q>
<ruby>
<s>
<samp>
<slot>
<small>
<span>
<strong>
<sub>
<sup>
<time>
<u>
<var>
<wbr>
Inline replaced
<audio>
<button>
<canvas>
<embed>
<iframe>
<img>
<input>
<object>
<picture>
<select>
<svg>
<textarea>
<video>
Hidden
<script>
<template>
Elements designed for user interaction. An important rule: interactive content cannot be nested inside other interactive content (e.g. no <button> inside <a>).
Inline replaced
<audio>
<button>
<embed>
<iframe>
<input>
<object>
<select>
<textarea>
<video>
Elements that import external resources or insert content from another markup language into the document.
Inline replaced
<audio>
<canvas>
<embed>
<iframe>
<img>
<object>
<picture>
<svg>
<video>
Elements that define the title of a section. These are restricted from appearing inside elements like <address> or <dt>.
Block
<h1>
<h2>
<h3>
<h4>
<h5>
<h6>
<hgroup>
Elements that create a section in the document outline, defining the scope of <header> and <footer> elements.
Block
<article>
<aside>
<nav>
<section>