MDUIDocs
Копировать ссылку llms.txtКопировать ссылку llms-full.txtПросмотреть страницу в MarkdownОбсудить страницу с ChatGPTОбсудить полную документацию проекта с ChatGPT
Предустановленный цвет
Пользовательский цвет
Извлечь цвет из обоев
Пожалуйста, выберите обои
Начало работы
Разработка с помощью ИИ
Стили
Интеграция с фреймворками
Компоненты
Avatar АватарBadge БейджBottomAppBar Нижняя панель приложенияButton КнопкаButtonIcon Кнопка с иконкойCard КарточкаCheckbox ЧекбоксChip ЧипCircularProgress Круговой индикатор прогрессаCollapse Раскрывающийся блокDialog Диалоговое окноDivider РазделительDropdown Выпадающее менюFab Плавающая кнопка действияIcon ИконкаLayout LayoutLinearProgress Линейный индикатор прогрессаList СписокMenu МенюNavigationBar Панель навигацииNavigationDrawer Выдвижная панель навигацииNavigationRail Боковая панель навигацииRadio РадиокнопкаRangeSlider Слайдер диапазонаSelect Выпадающий списокSegmentedButton Сегментированная кнопкаSlider СлайдерSnackbar СнэкбарSwitch ПереключательTabs ВкладкиTextField Текстовое полеTooltip ТултипTopAppBar Верхняя панель приложения
Функции
Библиотеки

NavigationDrawerВыдвижная панель навигации

Выдвижная панель навигации используется для размещения навигации сбоку страницы, позволяя пользователю быстро переходить к разным страницам или разделам.

Обычно внутри выдвижной панели навигации используется компонент <mdui-list> для добавления пунктов навигации.

Использование

При необходимости импортируйте компонент:

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

При необходимости импортируйте типы TypeScript:

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

Пример использования:

Закрыть выдвижную панель Открыть выдвижную панель
<mdui-navigation-drawer close-on-overlay-click class="example-drawer">
  <mdui-button>Закрыть выдвижную панель</mdui-button>
</mdui-navigation-drawer>

<mdui-button>Открыть выдвижную панель</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>

Примечания:

Этот компонент по умолчанию использует позиционирование position: fixed.

Когда атрибут modal имеет значение false и ширина окна больше или равна --mdui-breakpoint-md, к body автоматически добавляется стиль padding-left или padding-right, чтобы содержимое страницы не перекрывалось компонентом.

Однако в следующих двух случаях по умолчанию используется позиционирование position: absolute:

  1. Когда атрибут contained имеет значение true.
  2. Когда компонент находится внутри <mdui-layout></mdui-layout>. В этом случае стили padding-left или padding-right не добавляются.

Примеры

В указанном контейнере

По умолчанию выдвижная панель навигации отображается относительно текущего окна, слева или справа от страницы. Если вы хотите разместить выдвижную панель внутри указанного контейнера, добавьте атрибут contained. В этом случае панель будет отображаться относительно родительского элемента (вам нужно самостоятельно добавить родительскому элементу стили position: relative; overflow: hidden;).

Модальный режим

Добавьте атрибут modal, чтобы при открытии выдвижной панели навигации отображался полупрозрачный фон. Обратите внимание, что при ширине окна или родительского элемента меньше --mdui-breakpoint-md этот параметр игнорируется, и фон отображается всегда.

Добавьте атрибут close-on-esc, чтобы панель закрывалась при нажатии клавиши ESC.

Добавьте атрибут close-on-overlay-click, чтобы панель закрывалась при клике на фон.

Расположение справа

Установите атрибут placement в значение right, чтобы выдвижная панель навигации отображалась справа.

API

Свойства

АтрибутСвойствоReflectТипПо умолчанию
openopenbooleanfalse

Определяет, открыта ли выдвижная панель.

modalmodalbooleanfalse

Определяет, нужно ли показывать затемнение при открытой выдвижной панели.

На устройствах с узким экраном (ширина меньше --mdui-breakpoint-md) затемнение отображается всегда, независимо от этого параметра.

close-on-esccloseOnEscbooleanfalse

Определяет, нужно ли закрывать выдвижную панель по нажатию ESC, если отображается затемнение.

close-on-overlay-clickcloseOnOverlayClickbooleanfalse

Определяет, нужно ли закрывать выдвижную панель при клике на затемнение.

placementplacement'left' | 'right''left'

Положение выдвижной панели. Возможные значения:

  • left — слева
  • right — справа
containedcontainedbooleanfalse

По умолчанию выдвижная панель позиционируется относительно элемента body. При задании этого свойства в true панель будет позиционироваться относительно своего родительского элемента.

Примечание: При задании этого свойства необходимо вручную задать родительскому элементу стили position: relative; overflow: hidden;.

orderordernumber-

Порядок этого компонента в <mdui-layout> (по возрастанию). По умолчанию 0.

События

Название
open

Возникает перед открытием выдвижной панели. Можно отменить открытие, вызвав event.preventDefault().

opened

Срабатывает после завершения анимации открытия выдвижной панели.

close

Возникает перед закрытием выдвижной панели. Можно отменить закрытие, вызвав event.preventDefault().

closed

Срабатывает после завершения анимации закрытия выдвижной панели.

overlay-click

Срабатывает при клике на затемнение.

Slots

Название
(по умолчанию)

Содержимое выдвижной панели.

CSS Parts

Название
overlay

Затемнение.

panel

Контейнер выдвижной панели.

Пользовательские CSS-свойства

Название
--shape-corner

Размер скругления углов компонента. Можно указать конкретное значение в пикселях, но рекомендуется использовать дизайн-токены.

--z-index

Значение CSS z-index компонента.

На этой странице