In HTML 4.01, there was a distinction between block-level and inline elements. In HTML 5, this distinction between block and inline has been replaced with a more complex set of content categories.
Each element in HTML falls into zero or more categories that group elements with similar characteristics.
Metadata content is content that sets up the presentation or behaviour of the rest of the content, or that sets up the relationship of the document with other documents.
Most elements that are used in the body of documents and applications are categorised as flow content. The only elements that are not considered flow elements are a subset of metadata elements. The older "block-level" category roughly corresponds to this flow content category.
Phrasing content is the text of the document, as well as elements that mark up that text within paragraphs. The older "inline" category corresponds to phrasing content.
Sectioning content is content that defines the scope of headers and footers.
Heading content defines the header of a section.
Embedded content is content that imports another resource into the document.
Interactive content is content that is specifically intended for user interaction.
Elements whose content model allows any flow content or phrasing content should have at least one node in its contents that is palpable content and that does not have the hidden attribute specified.
Script-supporting elements are those that do not represent anything themselves (i.e., they are not rendered), but are used to support scripts, e.g., to provide functionality for the user.
All | None | metadata | Flow | Phrasing | Sectioning | Heading | Embedded | Interactive | Palpable | Script-supporting |
---|---|---|---|---|---|---|---|---|---|---|
a | Flow | Phrasing | Interactive (If the element has an href attribute) |
Palpable | ||||||
abbr | Flow | Phrasing | Palpable | |||||||
address | Flow | Palpable | ||||||||
area | Flow | Phrasing | ||||||||
article | Flow | Sectioning | Palpable | |||||||
aside | Flow | Sectioning | Palpable | |||||||
audio | Flow | Phrasing | Embedded | Interactive (If the element has a controls attribute) |
Palpable (If the element has a controls attribute) |
|||||
b | Flow | Phrasing | Palpable | |||||||
base | Metadata | |||||||||
bdi | Flow | Phrasing | Palpable | |||||||
bdo | Flow | Phrasing | Palpable | |||||||
blockquote | Flow | Palpable | ||||||||
body | None | |||||||||
br | Flow | Phrasing | ||||||||
button | Flow | Phrasing | Interactive | Palpable | ||||||
canvas | Flow | Phrasing | Embedded | Palpable | ||||||
caption | None | |||||||||
cite | Flow | Phrasing | Palpable | |||||||
code | Flow | Phrasing | Palpable | |||||||
col | None | |||||||||
colgroup | None | |||||||||
data | Flow | Phrasing | Palpable | |||||||
datalist | Flow | Phrasing | ||||||||
dd | None | |||||||||
del | Flow | Phrasing | ||||||||
details | Flow | Interactive | Palpable | |||||||
dfn | Flow | Phrasing | Palpable | |||||||
dialog | Flow | |||||||||
div | Flow | Palpable | ||||||||
dl | Flow | Palpable (If the element's children include at least one name-value group) | ||||||||
dt | None | |||||||||
em | Flow | Phrasing | Palpable | |||||||
embed | Flow | Phrasing | Embedded | Interactive | Palpable | |||||
fieldset | Flow | Palpable | ||||||||
figcaption | None | |||||||||
figure | Flow | Palpable | ||||||||
footer | Flow | Palpable | ||||||||
form | Flow | Palpable | ||||||||
h1 | Flow | Heading | Palpable | |||||||
h2 | Flow | Heading | Palpable | |||||||
h3 | Flow | Heading | Palpable | |||||||
h4 | Flow | Heading | Palpable | |||||||
h5 | Flow | Heading | Palpable | |||||||
h6 | Flow | Heading | Palpable | |||||||
head | None | |||||||||
header | Flow | Palpable | ||||||||
hgroup | Flow | Heading | Palpable | |||||||
hr | Flow | |||||||||
html | None | |||||||||
i | Flow | Phrasing | Palpable | |||||||
iframe | Flow | Phrasing | Embedded | Interactive | Palpable | |||||
img | Flow | Phrasing | Embedded | Interactive (If the element has a usemap attribute) |
Palpable | |||||
input | Flow | Phrasing | Interactive (If the type attribute is not in the hidden state) |
Palpable (If the type attribute is not in the hidden state) |
||||||
ins | Flow | Phrasing | Palpable | |||||||
kbd | Flow | Phrasing | Palpable | |||||||
label | Flow | Phrasing | Interactive | Palpable | ||||||
legend | None | |||||||||
li | None | |||||||||
link | Metadata | Flow (If the element is allowed in the body) | Phrasing (If the element is allowed in the body) | |||||||
main | Flow | Palpable | ||||||||
map | Flow | Phrasing | Palpable | |||||||
mark | Flow | Phrasing | Palpable | |||||||
MathML | Flow | Phrasing | Embedded | Palpable | ||||||
math | Flow | Phrasing | Embedded | Palpable | ||||||
menu | Flow | Palpable (If the element's children include at least one li element) |
||||||||
meta | Metadata | Flow (If the itemprop attribute is present) |
Phrasing (If the itemprop attribute is present) |
|||||||
meter | Flow | Phrasing | Palpable | |||||||
nav | Flow | Sectioning | Palpable | |||||||
noscript | Metadata | Flow | Phrasing | |||||||
object | Flow | Phrasing | Embedded | Palpable | ||||||
ol | Flow | Palable (If the element's children include at least one li element) |
||||||||
optgroup | None | |||||||||
option | None | |||||||||
output | Flow | Phrasing | Palpable | |||||||
p | Flow | Palpable | ||||||||
param | Deprecated | |||||||||
picture | Flow | Phrasing | Embedded | |||||||
pre | Flow | Palpable | ||||||||
progress | Flow | Phrasing | Palpable | |||||||
q | Flow | Phrasing | Palpable | |||||||
rb | Deprecated | |||||||||
rp | None | |||||||||
rt | None | |||||||||
rtc | Deprecated | |||||||||
ruby | Flow | Phrasing | Palpable | |||||||
s | Flow | Phrasing | Palpable | |||||||
samp | Flow | Phrasing | Palpable | |||||||
script | Metadata | Flow | Phrasing | Script-supporting | ||||||
section | Flow | Sectioning | Palpable | |||||||
select | Flow | Phrasing | Interactive | Palpable | ||||||
slot | Flow | Phrasing | ||||||||
small | Flow | Phrasing | Palpable | |||||||
source | None | |||||||||
span | Flow | Phrasing | Palpable | |||||||
strong | Flow | Phrasing | Palpable | |||||||
style | Metadata | |||||||||
sub | Flow | Phrasing | Palpable | |||||||
summary | None | |||||||||
sup | Flow | Phrasing | Palpable | |||||||
svg | Flow | Phrasing | Embedded | Palpable | ||||||
table | Flow | Palpable | ||||||||
tbody | None | |||||||||
td | None | |||||||||
template | Metadata | Flow | Phrasing | Script-supporting | ||||||
textarea | Flow | Phrasing | Interactive | Palpable | ||||||
tfoot | None | |||||||||
th | None | |||||||||
thead | None | |||||||||
time | Flow | Phrasing | Palpable | |||||||
title | Metadata | |||||||||
tr | None | |||||||||
track | None | |||||||||
u | Flow | Phrasing | Palpable | |||||||
ul | Flow | Palable (If the element's children include at least one li element) |
||||||||
var | Flow | Phrasing | Palpable | |||||||
video | Flow | Phrasing | Embedded | Interactive (If the element has a controls attribute) | Palpable | |||||
wbr | Flow | Phrasing |