About this set
A minimal sticky header, a wordmark on the left and a hamburger button on the right at every screen size, that opens a full-height drawer from the right edge over a dimmed veil. The drawer repeats the logo beside a close button, lists five large links with arrows (the current one on a light grey pill) and pins a dark Start free trial button to the bottom. In the plain CSS and Tailwind versions the drawer is a native dialog opened with showModal(), so the browser keeps keyboard focus inside it, makes the page behind inert and turns Esc into a cancel event; the ::backdrop pseudo-element is the veil, and a click on it closes the drawer. A slide animation plays on the way in and out and is skipped under reduced motion. The Bootstrap version uses .offcanvas-end, which traps focus, closes on Esc, the close button or the backdrop, and returns focus to the toggler. Use it for editorial sites, portfolios, mobile-first products and any header that should stay uncluttered on desktop too.
What’s included
- Right-hand drawer over a dimmed veil at every screen size
- Native modal dialog: focus stays inside, the page behind is inert
- Closes on Esc, the close button or a click on the veil
- Slide in and out, skipped under reduced motion
- Call to action pinned to the bottom of the drawer
Accessibility
The menu button has aria-haspopup="dialog", aria-controls and an aria-expanded state that follows the drawer, and focus returns to it when the drawer closes. The drawer is labelled Menu, its links sit in a nav labelled Main with aria-current="page" on Features, and the close button is named Close menu. The arrows are hidden from screen readers, every control has a blue focus outline, and animations stop under prefers-reduced-motion.
Customise it
Change --hdr-ink, --hdr-line and --hdr-focus on .hdr and the width: min(320px, 86vw) on .drawer. Bootstrap uses --bs-offcanvas-width, --bs-offcanvas-padding-x and the backdrop variables; in Tailwind edit the --color-hdr-* colours and the --animate-hdr-* keyframes in the theme.



















