<nav>: The Navigation Section element #
::: section-content
The <nav>
HTML element represents a section of a page
whose purpose is to provide navigation links, either within the current
document or to other documents. Common examples of navigation sections
are menus, tables of contents, and indexes.
:::
Try it #
::: section-content ::: iframe ::: {.output-header .border-rounded-top}
HTML Demo: <nav> #
Reset :::
::: {#warning-no-script .warning-container} ::: warning The interactive example cannot be shown because JavaScript is disabled. ::: :::
::: {#warning-mathml-not-supported .warning-container .hidden} ::: warning The interactive example cannot be shown because MathML is not supported by your browser. ::: :::
::: {#editor-container .editor-container .tabbed-standard .hidden .border-rounded-bottom editor-type=“tabbed”} ::: {#tab-container .section .tabs} ::: {#tablist .tab-list role=“tablist”} HTML
CSS
JavaScript :::
::: {#html-panel .section .hidden tabindex=“0” role=“tabpanel” aria-labelledby=“html” aria-hidden=“true”} ::: {#html-editor}
<h1>Jump Bike 3000</h1>
<p>
This BMX bike is a solid step into the pro world. It looks as legit as it rides and is built to polish your skills.
</p>
::: :::
::: {#css-panel .section .hidden tabindex=“0” role=“tabpanel” aria-labelledby=“css” aria-hidden=“true”} ::: {#css-editor} nav { border-bottom: 1px solid black; }
.crumbs ol {
list-style-type: none;
padding-left: 0;
}
.crumb {
display: inline-block;
}
.crumb a::after {
display: inline-block;
color: #000;
content: '>';
font-size: 80%;
font-weight: bold;
padding: 0 3px;
}
::: :::
::: {#js-panel .section .hidden tabindex=“0” role=“tabpanel” aria-labelledby=“js” aria-hidden=“true”} ::: {#js-editor} ::: ::: :::
::: {#output .output-container}
Output #
::: :::
::: {.section .console-container .hidden aria-hidden=“true”}
Console Output #
![] clear console
::: {#console .console} ::: :::
::: {#html-output .output .editor-tabbed} %html-content% ::: :::
| Content categories | Flow content, sectioning content, palpable content. |
|---|---|
| Permitted content | Flow content. |
| Tag omission | None, both the starting and ending tag are mandatory. |
| Permitted parents | Any element that accepts flow content. |
| Implicit ARIA role | navigation |
| Permitted ARIA roles | No role permitted |
| DOM interface | HTMLElement |
Attributes #
::: section-content This element only includes the global attributes. :::
Usage notes #
::: section-content
- It's not necessary for all links to be contained in a
<nav>element.<nav>is intended only for a major block of navigation links; typically the<footer>element often has a list of links that don't need to be in a<nav>{aria-current=“page”} element. - A document may have several
<nav>{aria-current=“page”} elements, for example, one for site navigation and one for intra-page navigation.aria-labelledbycan be used in such case to promote accessibility, see example. - User agents, such as screen readers targeting disabled users, can use this element to determine whether to omit the initial rendering of navigation-only content. :::
Examples #
::: section-content
In this example, a <nav> block is used to contain an unordered list
(
<ul>) of links. With appropriate CSS, this can be presented as
a sidebar, navigation bar, or drop-down menu.
::: code-example [html]{.language-name}
<nav class="menu">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
:::
The semantics of the nav element is that of providing links. However a
nav element doesn't have to contain a list, it can contain other
kinds of content as well. In this navigation block, links are provided
in prose:
::: code-example [html]{.language-name}
<nav>
<h2>Navigation</h2>
<p>
You are on my home page. To the north lies <a href="/blog">my blog</a>, from
whence the sounds of battle can be heard. To the east you can see a large
mountain, upon which many <a href="/school">school papers</a> are littered.
Far up this mountain you can spy a little figure who appears to be me,
desperately scribbling a <a href="/school/thesis">thesis</a>.
</p>
<p>
To the west are several exits. One fun-looking exit is labeled
<a href="https://games.example.com/">"games"</a>. Another more
boring-looking exit is labeled <a href="https://isp.example.net/">ISPâ„¢</a>.
</p>
<p>
To the south lies a dark and dank <a href="/about">contacts page</a>.
Cobwebs cover its disused entrance, and at one point you see a rat run
quickly out of the page.
</p>
</nav>
::: :::
Result #
::: section-content ::: {#sect1 .code-example} ::: iframe ::: ::: :::
Specifications #
::: _table #
Specification #
HTML Standard
[#
the-nav-element]{.small}
:::
Browser compatibility #
::: _table Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
nav 5 12 4 9 11.1 5 4.4 18 4 11.1 4.2 1.0
:::
See also #
::: section-content
- Other section-related elements:
<body>,<article>,<section>,<aside>, h1, h2, h3, h4, h5, h6,<hgroup>,<header>,<footer>,<address>; - Sections and outlines of an HTML document.
- ARIA: Navigation role :::
::: _attribution
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5
or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/nav{._attribution-link}
:::