Blazor layout components that define the application's visual structure. These wrap page content and provide consistent navigation and styling.
-
MainLayout.razor- Primary layout component- Wraps page content via
@Body - Provides consistent app structure
- Wraps page content via
-
MainLayout.razor.css- Scoped CSS for MainLayout- CSS isolation (only applies to this component)
- May contain non-TailwindCSS styles
-
NavMenu.razor- Navigation menu component- Provides site navigation links
-
NavMenu.razor.css- Scoped CSS for NavMenu- CSS isolation for navigation styling
None.
Blazor layouts use @inherits LayoutComponentBase and render child content with @Body:
@inherits LayoutComponentBase
<div class="page">
<NavMenu />
<main>@Body</main>
</div>Files ending in .razor.css are scoped to their component:
MainLayout.razor.css→ only applies toMainLayout.razor- At build time, Blazor generates unique attribute selectors
TailwindCSS classes can be used alongside scoped CSS:
- Use TailwindCSS utilities for rapid styling:
class="flex p-4" - Use
.razor.cssfor complex component-specific styles
- Edit
.razorfiles for structure/markup - Edit
.razor.cssfiles for scoped styles - Use TailwindCSS classes inline for utility styles
- Rebuild to recompile CSS
Microsoft.AspNetCore.Componentsfor layout base class- TailwindCSS for utility classes