Atualmente estou tentando criar um WebApp MudBlazor. Como sou muito novo no MudBlazor, tento descobrir como funciona o espaçamento e o layout da página.
Então peguei um layout bem básico do MudBlazor Wireframes com gaveta esquerda e barra de aplicativos superior.
Então meu MainLayout.razor
fica assim:
<MudLayout>
<MudAppBar Elevation="1">
<MudIconButton Icon="@Icons.Material.Filled.Menu" Color="Color.Inherit" Edge="Edge.Start" OnClick="@((e) => DrawerToggle())" />
<MudSpacer />
<MudIconButton Icon="@Icons.Material.Filled.MoreVert" Color="Color.Inherit" Edge="Edge.End" />
</MudAppBar>
<MudDrawer @bind-Open="_drawerOpen" Elevation="2">
<MudDrawerHeader>
<MudText Typo="Typo.h5" Class="mt-1">@Configuration["ApplicationSettings:AppName"]</MudText>
</MudDrawerHeader>
<NavMenu/>
</MudDrawer>
<MudMainContent>
@Body
</MudMainContent>
</MudLayout>
E o layout da minha página:
<MudGrid Justify="Justify.Center">
<MudItem xs="2" Style="background-color: aqua; height: 90vh;"></MudItem>
<MudItem xs="8" Style="background-color: red; height: 90vh;"></MudItem>
<MudItem xs="2" Style="background-color: aqua; height: 90vh;"></MudItem>
<MudItem xs="12" Style="background-color: yellow; height: 10vh;"></MudItem>
</MudGrid>
Então é isso que é renderizado:
Agora, existem dois problemas principais que me incomodam
- Como você pode ver, há uma barra de rolagem vertical porque a área amarela flui para fora... Gostaria que a área amarela tivesse uma altura fixa e as áreas azul/água e vermelha ocupassem o espaço vertical restante. Algo parecido
height: auto
ou algo parecido. Achei que90vh
significaria 90% da altura do contêiner pai, mas aparentemente algo deu errado aqui - Há também uma barra de rolagem horizontal que não consigo explicar, pois estou apenas trabalhando com a
MudGrid
qual nem consigo influenciar e12
representatake whole available space
Você precisa levar em conta o espaço que o AppBar usa.
Exemplo completo aqui