QHeader — это компонент верхней панели приложения, который позволяет создавать фиксированные или скрывающиеся заголовки с высокой степенью кастомизации. Он играет ключевую роль в организации интерфейса, обеспечивая пространство для навигации, логотипов, кнопок и других элементов управления.
height-hint Определяет
рекомендуемую высоту заголовка. Полезно для корректного расчета
пространства для контента под шапкой.
elevated Применяет тень, создавая
эффект «поднятой» панели.
<q-header elevated>
...
</q-header>reveal Позволяет заголовку
скрываться при прокрутке вниз и появляться при прокрутке вверх.
Используется совместно с QPageContainer и
QPage для создания динамического интерфейса.
bordered Добавляет нижнюю границу
заголовка, что визуально отделяет его от основного контента.
default Основной слот для
размещения контента внутри шапки. Чаще всего сюда помещают
QToolbar, который содержит логотип, навигационные
кнопки и меню.
Пример использования QToolbar внутри QHeader:
<q-header elevated height-hint="70">
<q-toolbar>
<q-btn flat icon="menu" @click="toggleLeftDrawer" />
<q-toolbar-title>
Мое приложение
</q-toolbar-title>
<q-btn flat icon="search" />
</q-toolbar>
</q-header>position="sticky" Заголовок остаётся
видимым при прокрутке страницы.position="absolute" Позволяет
разместить заголовок поверх контента, полезно для эффектных анимаций или
прозрачных шапок.QFooter — компонент нижней панели, который используется для отображения дополнительной информации, меню или навигационных ссылок. Он может быть фиксированным, скрывающимся при прокрутке или адаптивным под мобильные устройства.
height-hint Указывает рекомендуемую
высоту футера, что важно для корректного расчета пространства в
QPageContainer.
elevated Создает визуальную тень
для отделения футера от основного контента.
bordered Добавляет верхнюю границу
футера, обеспечивая визуальную структуру интерфейса.
reveal Позволяет футеру скрываться
при прокрутке вниз и появляться при прокрутке вверх.
default Основной слот для
размещения содержимого футера. Часто здесь используют
QToolbar для размещения кнопок, ссылок или
копирайта.
Пример использования QToolbar внутри QFooter:
<q-footer elevated height-hint="50">
<q-toolbar>
<q-btn flat icon="home" label="Главная" />
<q-btn flat icon="info" label="О проекте" />
<q-space />
<div>© 2026 Компания</div>
</q-toolbar>
</q-footer>position="sticky" Футер остается внизу
экрана, пока контент не превышает высоту страницы.position="absolute" Используется для
футеров, которые накладываются на контент. Часто применяется в мобильных
приложениях с минимальной прокруткой.QHeader и QFooter часто работают вместе в структуре QLayout для создания полноценных интерфейсов. Основные моменты:
QPageContainer Всегда помещается между QHeader и QFooter. Он автоматически учитывает высоту этих компонентов, если заданы height-hint, обеспечивая корректную прокрутку контента.
Пример полной структуры:
<q-layout view="hHh Lpr fFf">
<q-header elevated height-hint="70">
<q-toolbar>
<q-toolbar-title>Приложение</q-toolbar-title>
</q-toolbar>
</q-header>
<q-page-container>
<q-page padding>
<div>Основной контент страницы</div>
</q-page>
</q-page-container>
<q-footer elevated height-hint="50">
<q-toolbar>
<q-btn flat label="Контакты" />
<q-space />
<div>© 2026 Компания</div>
</q-toolbar>
</q-footer>
</q-layout>Совместимость с динамическими панелями Если включен режим reveal для QHeader и QFooter, QPageContainer автоматически подстраивается, предотвращая перекрытие контента.
Для изменения цвета и стиля заголовка и футера используются свойства class и style. Примеры:
<q-header class="bg-primary text-white" elevated />
<q-footer class="bg-grey-8 text-white" elevated />Для сложной навигации удобно использовать компоненты QToolbar, QBtn, QAvatar, QMenu внутри слотов header и footer.
Для адаптивного дизайна рекомендуется комбинировать свойства reveal, elevated и position, чтобы шапка и футер выглядели одинаково хорошо на разных устройствах.
Следует всегда задавать height-hint, чтобы QPageContainer корректно рассчитывал пространство и не допускал перекрытия контента.
Эта детальная структура обеспечивает гибкое и мощное управление верхней и нижней панелью интерфейса, позволяя создавать современные, динамичные и адаптивные веб-приложения на базе Quasar.