files/en-us/web/html/reference/elements/figure/index.md
The <figure> HTML element represents self-contained content, potentially with an optional caption, which is specified using the {{HTMLElement("figcaption")}} element. The figure, its caption, and its contents are referenced as a single unit.
{{InteractiveExample("HTML Demo: <figure>", "tabbed-shorter")}}
<figure>
<figcaption>An elephant at sunset</figcaption>
</figure>
figure {
border: thin silver solid;
display: flex;
flex-flow: column;
padding: 5px;
max-width: 220px;
margin: auto;
}
img {
max-width: 220px;
max-height: 150px;
}
figcaption {
background-color: #222222;
color: white;
font: italic smaller sans-serif;
padding: 3px;
text-align: center;
}
This element only includes the global attributes.
<figure> is an image, illustration, diagram, code snippet, etc., that is referenced in the main flow of a document, but that can be moved to another part of the document or to an appendix without affecting the main flow.<figure> element by inserting a {{HTMLElement("figcaption")}} inside it (as the first or the last child). The first <figcaption> element found in the figure is presented as the figure's caption.<figcaption> provides the {{glossary("accessible name")}} for the parent <figure>.<!-- Just an image -->
<figure>
</figure>
<!-- Image with a caption -->
<figure>
<figcaption>MDN Logo</figcaption>
</figure>
{{EmbedLiveSample("Images", "100%", 375)}}
<figure>
<figcaption>Get browser details using <code>navigator</code>.</figcaption>
<pre>
function NavigatorExample() {
let txt = `Browser CodeName: ${navigator.appCodeName};\n`;
txt += `Browser Name: ${navigator.appName};\n`;
txt += `Browser Version: ${navigator.appVersion};\n`;
txt += `Cookies Enabled: ${navigator.cookieEnabled};\n`;
txt += `Platform: ${navigator.platform};\n`;
txt += `User-agent header: ${navigator.userAgent};`;
console.log("NavigatorExample", txt);
}
</pre>
</figure>
{{EmbedLiveSample("Code_snippets", "100%", 250)}}
<figure>
<figcaption><b>Edsger Dijkstra:</b></figcaption>
<blockquote>
If debugging is the process of removing software bugs, then programming must
be the process of putting them in.
</blockquote>
</figure>
{{EmbedLiveSample('Quotations')}}
<figure>
<p>
Bid me discourse, I will enchant thine ear,
Or like a fairy trip upon the green,
Or, like a nymph, with long dishevelled hair,
Dance on the sands, and yet no footing seen:
Love is a spirit all compact of fire,
Not gross to sink, but light, and will aspire.
</p>
<figcaption><cite>Venus and Adonis</cite>, by William Shakespeare</figcaption>
</figure>
{{EmbedLiveSample("Poems", "100%", 250)}}
{{Specifications}}
{{Compat}}