Sitemap

Member-only story

Blazor Is Still the Web: Building Beautiful Menus with HTML, CSS, and C#

9 min readOct 3, 2026

--

When building a Blazor application, it is easy to reach for a heavy component library every single time you need something visual on the screen. Component libraries certainly have their place, but they are never a hard requirement for building clean, attractive user interfaces.

Blazor lets us use the exact same HTML and CSS that power the rest of the web. We can build robust layouts with CSS Grid, arrange content cleanly with Flexbox, animate navigation panels with CSS transitions, and rely on ordinary buttons, links, and images. Then, we wire up the interactions using C#.

To prove this out, I put together a small .NET 10 Blazor WebAssembly application featuring three distinct examples:

  • A slide-out navigation menu.
  • A custom multi-select control.
  • A responsive restaurant menu complete with food photography.

None of these examples relies on a third-party UI component library. Their visual presentation comes purely from HTML and CSS, while their application behavior is driven entirely by Razor and C#.

What I Mean by ‘Raw HTML’

In this context, ‘raw HTML’ simply means writing ordinary HTML elements directly inside a Razor component…

--

--

David Gallivan
David Gallivan

Written by David Gallivan

Software Engineer, Architect, published author, and lifelong learner with a passion for mentoring the next generation of software engineers.