TopAppBarВерхняя панель приложения
Верхняя панель приложения используется для отображения ключевой информации и связанных действий в верхней части страницы, обеспечивая четкую навигацию и удобный доступ к функциям.
Использование
При необходимости импортируйте компоненты:
import 'mdui/components/top-app-bar.js';
import 'mdui/components/top-app-bar-title.js';
При необходимости импортируйте типы TypeScript компонентов:
import type { TopAppBar } from 'mdui/components/top-app-bar.js';
import type { TopAppBarTitle } from 'mdui/components/top-app-bar-title.js';
Пример использования: (Пример с style="position: relative" добавлен только для демонстрации, при реальном использовании удалите этот стиль.)
<mdui-top-app-bar style="position: relative;">
<mdui-button-icon icon="menu"></mdui-button-icon>
<mdui-top-app-bar-title>Title</mdui-top-app-bar-title>
<div style="flex-grow: 1"></div>
<mdui-button-icon icon="more_vert"></mdui-button-icon>
</mdui-top-app-bar>Примечания:
Этот компонент по умолчанию использует позиционирование position: fixed и автоматически добавляет стиль padding-top к body, чтобы содержимое страницы не перекрывалось компонентом.
Однако в следующих двух случаях по умолчанию используется позиционирование position: absolute:
- Когда указан атрибут
scroll-target. В этом случае стильpadding-topдобавляется к элементуscroll-target. - Когда компонент находится внутри
<mdui-layout></mdui-layout>. В этом случае стильpadding-topне добавляется.
Примеры
В указанном контейнере
По умолчанию верхняя панель приложения отображается вверху страницы относительно текущего окна.
Если вы хотите разместить панель внутри указанного контейнера, укажите атрибут scroll-target на компоненте <mdui-top-app-bar>. Значением атрибута должен быть CSS-селектор или DOM-элемент контейнера с прокручиваемым содержимым. В этом случае панель будет отображаться относительно родительского элемента (вам нужно самостоятельно добавить родительскому элементу стили position: relative; overflow: hidden).
Форма
Используйте атрибут variant на компоненте <mdui-top-app-bar> для установки формы панели.
Поведение при прокрутке страницы
Установите атрибут scroll-behavior на компоненте <mdui-top-app-bar>, чтобы определить поведение панели при прокрутке страницы. Можно указать несколько действий, разделив их пробелами.
Доступные действия:
hide: Панель скрывается при прокрутке вниз и показывается при прокрутке вверх.shrink: Действует только когдаvariantимеет значениеmediumилиlarge. Панель сжимается при прокрутке вниз и разворачивается при прокрутке вверх.elevate: При прокрутке вниз добавляется тень; при возврате к верху тень убирается.
Используйте атрибут scroll-threshold, чтобы задать количество пикселей прокрутки, после которого начнется действие панели. (Обратите внимание: для своевременной реакции при использовании elevate не следует устанавливать scroll-threshold.)
Пример: скрытие при прокрутке
Пример: добавление тени при прокрутке
Пример: сжатие при прокрутке
Пример: сжатие и добавление тени при прокрутке
Текст в развернутом состоянии
Для панели с variant равным medium или large и scroll-behavior равным shrink, вы можете установить текст для развернутого состояния с помощью слота label-large внутри компонента <mdui-top-app-bar-title>.
mdui-top-app-bar-title API
Slots
| Название |
|---|
| (по умолчанию) |
Текст заголовка верхней панели приложения. |
label-large |
Текст заголовка в развёрнутом состоянии (для панелей medium и large). |
CSS Parts
| Название |
|---|
label |
Текст заголовка. |
label-large |
Текст заголовка в развёрнутом состоянии. |
mdui-top-app-bar API
Свойства
| Атрибут | Свойство | Reflect | Тип | По умолчанию |
|---|---|---|---|---|
variant | variant | 'center-aligned' | 'small' | 'medium' | 'large' | 'small' | |
Форма верхней панели приложения. По умолчанию
| ||||
hide | hide | boolean | false | |
Определяет, скрыт ли компонент. | ||||
shrink | shrink | boolean | false | |
Определяет, должен ли компонент сжиматься до стиля | ||||
scroll-behavior | scrollBehavior | 'hide' | 'shrink' | 'elevate' | - | |
Поведение при прокрутке. Можно указать несколько значений через пробел. Возможные значения:
| ||||
scroll-target | scrollTarget | string | HTMLElement | JQ<HTMLElement> | - | |
Элемент, прокрутку которого нужно отслеживать. В качестве значения можно указать CSS-селектор, DOM-элемент или JQ-объект. По умолчанию отслеживается событие | ||||
scroll-threshold | scrollThreshold | number | - | |
Пороговое значение прокрутки в пикселях, при котором срабатывает поведение прокрутки. | ||||
order | order | number | - | |
Порядок этого компонента в | ||||
Slots
| Название |
|---|
| (по умолчанию) |
Элементы внутри верхней панели приложения. |
Пользовательские CSS-свойства
| Название |
|---|
--shape-corner |
Размер скругления углов компонента. Можно указать конкретное значение в пикселях, но рекомендуется использовать дизайн-токены. |
--z-index |
Значение CSS |