MDUIDocs
Copiar enlace llms.txtCopiar enlace llms-full.txtVer esta página en formato MarkdownDiscutir esta página con ChatGPTDiscutir la documentación completa del proyecto con ChatGPT
Color preestablecido
Color personalizado
Extraer color del fondo de pantalla
Selecciona una imagen de fondo
Primeros pasos
Desarrollo asistido por IA
Estilos
Integración con frameworks
Componentes
Avatar AvatarBadge BadgeBottomAppBar Bottom App BarButton BotónButtonIcon Botón de iconoCard TarjetaCheckbox CheckboxChip ChipCircularProgress Progreso circularCollapse CollapseDialog DiálogoDivider SeparadorDropdown DropdownFab Floating Action ButtonIcon IconoLayout LayoutLinearProgress Progreso linealList ListaMenu MenúNavigationBar Barra de navegaciónNavigationDrawer Navigation DrawerNavigationRail Navigation RailRadio RadioRangeSlider Range SliderSelect SelectSegmentedButton Botón segmentadoSlider SliderSnackbar SnackbarSwitch SwitchTabs TabTextField Campo de textoTooltip TooltipTopAppBar Top App Bar
Funciones
Paquetes independientes

NavigationDrawerNavigation Drawer

A gaveta de navegação é usada para fornecer navegação na lateral da página, permitindo que os usuários acessem rapidamente diferentes páginas ou conteúdos.

Normalmente, você pode usar o componente <mdui-list> dentro da gaveta de navegação para adicionar itens de navegação.

Como usar

Importe o componente conforme necessário:

import 'mdui/components/navigation-drawer.js';

Importe o tipo TypeScript do componente conforme necessário:

import type { NavigationDrawer } from 'mdui/components/navigation-drawer.js';

Exemplo de uso:

Fechar gaveta de navegação Abrir gaveta de navegação
<mdui-navigation-drawer close-on-overlay-click class="example-drawer">
  <mdui-button>Fechar gaveta de navegação</mdui-button>
</mdui-navigation-drawer>

<mdui-button>Abrir gaveta de navegação</mdui-button>

<script>
  const navigationDrawer = document.querySelector(".example-drawer");
  const openButton = navigationDrawer.nextElementSibling;
  const closeButton = navigationDrawer.querySelector("mdui-button");

  openButton.addEventListener("click", () => navigationDrawer.open = true);
  closeButton.addEventListener("click", () => navigationDrawer.open = false);
</script>

Observações:

Este componente usa position: fixed por padrão.

Quando modal é false e a largura da viewport é maior ou igual a --mdui-breakpoint-md, ele adiciona automaticamente padding-left ou padding-right ao body para evitar que o conteúdo da página seja ocultado pelo componente.

No entanto, nos dois casos a seguir, ele usará position: absolute por padrão:

  1. Quando o atributo contained é true.
  2. Quando o componente está dentro de <mdui-layout></mdui-layout>. Assim, nenhum padding-left ou padding-right será adicionado.

Exemplos

Dentro de um contêiner especificado

Por padrão, a gaveta de navegação é exibida no lado esquerdo ou direito da página, em relação à janela atual. Se você deseja colocar a gaveta de navegação dentro de um contêiner especificado, adicione o atributo contained. Assim, a gaveta será exibida em relação ao elemento pai (você precisa adicionar os estilos position: relative; overflow: hidden; ao elemento pai).

Modal

Use o atributo modal para exibir uma sobreposição ao abrir a gaveta de navegação. Observe que quando a largura da janela ou do elemento pai for menor que --mdui-breakpoint-md, este parâmetro é ignorado e a sobreposição sempre será exibida.

Use o atributo close-on-esc para fechar a gaveta de navegação ao pressionar a tecla ESC.

Use o atributo close-on-overlay-click para fechar a gaveta de navegação ao clicar na sobreposição.

No lado direito

Defina o atributo placement como right para exibir a gaveta de navegação no lado direito da página.

API

Propiedades

AtributoPropiedadReflectTipoPredeterminado
openopenbooleanfalse

Define se a gaveta de navegação está aberta.

modalmodalbooleanfalse

Define se uma camada de sobreposição deve ser exibida quando a gaveta de navegação está aberta.

Em dispositivos com tela estreita (largura da tela menor que --mdui-breakpoint-md), a camada de sobreposição é sempre exibida, ignorando este parâmetro.

close-on-esccloseOnEscbooleanfalse

Define se, quando há uma camada de sobreposição, pressionar a tecla ESC deve fechar a gaveta de navegação.

close-on-overlay-clickcloseOnOverlayClickbooleanfalse

Define se clicar na camada de sobreposição deve fechar a gaveta de navegação.

placementplacement'left' | 'right''left'

Posição da gaveta de navegação. Os valores possíveis são:

  • left: Esquerda.
  • right: Direita.
containedcontainedbooleanfalse

Por padrão, a gaveta de navegação é exibida em relação ao elemento body. Quando esta propriedade é definida como true, a gaveta de navegação será exibida em relação ao seu elemento pai.

Nota: Ao definir esta propriedade, deve-se definir manualmente o estilo position: relative; overflow: hidden; no elemento pai.

orderordernumber-

A ordem de layout deste componente dentro do <mdui-layout>, em ordem crescente. O valor padrão é 0.

Eventos

Nombre
open

Disparado antes de a gaveta de navegação abrir. Pode impedir a abertura chamando event.preventDefault().

opened

Disparado após a conclusão da animação de abertura da gaveta de navegação.

close

Disparado antes de a gaveta de navegação fechar. Pode impedir o fechamento chamando event.preventDefault().

closed

Disparado após a conclusão da animação de fechamento da gaveta de navegação.

overlay-click

Disparado ao clicar na camada de sobreposição.

Slots

Nombre
(predeterminado)

Conteúdo dentro da gaveta de navegação.

CSS Parts

Nombre
overlay

Camada de sobreposição.

panel

Contêiner da gaveta de navegação.

CSS Custom Properties

Nombre
--shape-corner

Tamanho da borda arredondada do componente. Pode ser um valor em pixels, mas é recomendado usar os design tokens.

--z-index

Valor CSS z-index do componente.

Contenido de esta página