Библиотека Naive UI предоставляет набор компонентов для построения гибких и адаптивных интерфейсов. Одними из ключевых элементов при разработке макетов являются Header, Footer, Aside и Content. Эти компоненты позволяют создавать полноценные страницы с четкой структурой, обеспечивая визуальное разделение областей и удобство навигации.
Header — это верхняя панель страницы, которая обычно
используется для размещения логотипа, навигационных элементов, кнопок
действий и пользовательских профилей. В Naive UI компонент реализуется
через n-layout-header, который
поддерживает как простую, так и сложную кастомизацию.
Пример использования:
<template>
<n-layout-header>
<div class="logo">MyApp</div>
<n-menu :options="menuOptions" mode="horizontal" />
</n-layout-header>
</template>
<script setup>
import { NLayoutHeader, NMenu } from 'naive-ui'
const menuOptions = [
{ label: 'Главная', key: 'home' },
{ label: 'О нас', key: 'about' },
{ label: 'Контакты', key: 'contacts' }
]
</script>
<style scoped>
.logo {
font-weight: bold;
font-size: 18px;
padding: 0 20px;
}
</style>
Ключевые особенности Header:
Footer — нижняя панель страницы, предназначенная для
отображения информации о компании, ссылок на политики, авторских прав
или контактных данных. В Naive UI используется
n-layout-footer.
Пример:
<template>
<n-layout-footer>
<div class="footer-text">
© 2026 MyApp. Все права защищены.
</div>
</n-layout-footer>
</template>
<script setup>
import { NLayoutFooter } from 'naive-ui'
</script>
<style scoped>
.footer-text {
text-align: center;
color: #999;
font-size: 14px;
padding: 10px 0;
}
</style>
Особенности Footer:
Aside — боковая панель, которая часто используется
для навигации, фильтров, меню категорий и других вспомогательных
элементов. Компонент n-layout-sider
позволяет задавать фиксированную ширину, сворачиваемое меню и
настраиваемую стилизацию.
Пример использования:
<template>
<n-layout>
<n-layout-sider width="200">
<n-menu :options="sideMenu" />
</n-layout-sider>
<n-layout-content>
<router-view />
</n-layout-content>
</n-layout>
</template>
<script setup>
import { NLayout, NLayoutSider, NLayoutContent, NMenu } from 'naive-ui'
const sideMenu = [
{ label: 'Панель', key: 'dashboard' },
{ label: 'Отчеты', key: 'reports' },
{ label: 'Настройки', key: 'settings' }
]
</script>
Особенности Aside:
Content — центральная область страницы,
предназначенная для основного содержимого. Компонент
n-layout-content обеспечивает гибкую
работу с контентом, поддерживает адаптивность и возможность
скроллинга.
Пример:
<template>
<n-layout>
<n-layout-sider width="200">
<n-menu :options="sideMenu" />
</n-layout-sider>
<n-layout>
<n-layout-header>Заголовок страницы</n-layout-header>
<n-layout-content class="main-content">
<div>
Здесь размещается основной контент страницы: текст, таблицы, графики.
</div>
</n-layout-content>
<n-layout-footer>© 2026 MyApp</n-layout-footer>
</n-layout>
</n-layout>
</template>
<style scoped>
.main-content {
padding: 20px;
background-color: #f5f5f5;
min-height: 400px;
}
</style>
Особенности Content:
Правильная организация этих четырех компонентов позволяет создать гибкую структуру приложения:
Сочетание этих компонентов в одном
n-layout обеспечивает адаптивность,
удобство для пользователя и простоту масштабирования интерфейса.
Эти четыре элемента составляют основу большинства интерфейсов, создаваемых с Naive UI, позволяя формировать как простые страницы, так и сложные корпоративные панели управления.