1. Basic structure
Keep the toggle's aria-controls equal to the menu id. The runtime synchronizes aria-expanded when the drawer opens.
Build a responsive Navbar from four layers: a brand, a toggle button, a navigation menu, and optional actions. Use k-navbar--expand-lg to switch from the mobile drawer to the desktop layout at the large breakpoint.
<header class="k-navbar k-navbar--expand-lg k-navbar--sticky k-navbar--shadow">
<div class="k-navbar__container">
<a class="k-navbar__brand" href="#">Brand</a>
<button class="k-navbar__toggle" type="button" aria-controls="primary-nav" aria-expanded="false">
<span></span><span></span><span></span>
</button>
<nav class="k-navbar__menu" id="primary-nav">
<ul class="k-navbar__nav">
<li><a class="k-navbar__link is-active" href="#">Home</a></li>
<!-- Menu con Level 1 (mở trên/dưới) -->
<li class="k-navbar__item--has-children">
<button class="k-navbar__link" type="button" aria-haspopup="true" aria-expanded="false">
Products <i data-kaui-icon="chevron-down"></i>
</button>
<ul class="k-navbar__submenu">
<li><a class="k-navbar__link" href="#overview">Overview</a></li>
<!-- Menu con Level 2 (mở ngang trái/phải, top căn phẳng) -->
<li class="k-navbar__item--has-children">
<button class="k-navbar__link" type="button" aria-haspopup="true" aria-expanded="false">
Analytics <i data-kaui-icon="chevron-right"></i>
</button>
<ul class="k-navbar__submenu">
<li><a class="k-navbar__link" href="#reports">Realtime Reports</a></li>
<!-- Menu con Level 3 (tiếp tục mở theo 1 chiều gần nhất) -->
<li class="k-navbar__item--has-children">
<button class="k-navbar__link" type="button" aria-haspopup="true" aria-expanded="false">
Deep Settings <i data-kaui-icon="chevron-right"></i>
</button>
<ul class="k-navbar__submenu">
<li><a class="k-navbar__link" href="#security">Security</a></li>
<li><a class="k-navbar__link" href="#audit">Audit logs</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li><a class="k-navbar__link" href="#pricing">Pricing</a></li>
</ul>
<div class="k-navbar__actions">
<button class="k-btn k-btn--sm k-btn--primary">Sign in</button>
</div>
</nav>
</div>
</header>