В библиотеке Noty параметр layout
определяет положение уведомления на экране и влияет на визуальное
восприятие и взаимодействие пользователя с уведомлением. Он является
одним из ключевых элементов конфигурации и поддерживает как стандартные,
так и кастомные позиции.
layoutNoty поставляется с рядом предустановленных значений параметра
layout, каждое из которых соответствует определённой
области экрана:
Каждое значение влияет не только на визуальное расположение, но и на поведение уведомлений при появлении нескольких экземпляров: например, уведомления в верхней части экрана будут стекаться вниз, а в нижней – вверх.
new Noty({
text: 'Успешное сохранение данных!',
type: 'success',
layout: 'topRight',
timeout: 3000
}).show();
В этом примере уведомление появится в верхнем правом углу экрана, автоматически исчезнув через 3 секунды.
Помимо предустановленных значений, layout может быть
расширен с помощью пользовательских CSS-классов. Это позволяет создать
уникальное позиционирование, соответствующее дизайну проекта:
new Noty({
text: 'Пользовательское уведомление',
layout: 'customLayout',
theme: 'metroui'
}).show();
Для корректного отображения необходимо определить CSS для кастомного
layout:
.noty_layout_customLayout {
position: fixed;
bottom: 50px;
right: 100px;
width: 300px;
}
Такой подход позволяет полностью контролировать размер, отступы и поведение уведомлений.
layout на
анимациюКаждый layout может быть связан с определёнными
эффектами анимации появления и скрытия уведомления через параметр
animation. Например:
new Noty({
text: 'Внимание!',
type: 'alert',
layout: 'top',
animation: {
open: 'animated fadeInDown',
close: 'animated fadeOutUp'
}
}).show();
В верхней части экрана уведомление будет плавно появляться сверху
вниз и скрываться обратно. При смене layout часто требуется
корректировка анимации, чтобы движение выглядело естественно.
inline layoutlayout: 'inline' отличается от остальных тем, что
уведомление вставляется в DOM в указанное место, а не фиксируется на
экране. Это полезно для уведомлений внутри форм или карточек:
const container = document.querySelector('#notificationContainer');
new Noty({
text: 'Сообщение внутри формы',
layout: 'inline',
container: container,
type: 'information'
}).show();
В этом случае уведомление не будет перекрывать основной контент, а займет место внутри выбранного контейнера.
Noty автоматически управляет расположением нескольких уведомлений в
пределах одного layout. Можно настроить направление их
появления через параметр theme и CSS:
Это обеспечивает логичное и предсказуемое поведение интерфейса при большом количестве сообщений.
layoutПараметр layout является фундаментальным для управления
положением уведомлений и взаимодействием с пользователем.
Предустановленные значения обеспечивают быстрый старт, а кастомные
позволяют интегрировать уведомления в любой дизайн. Совместное
использование с анимацией и inline контейнерами создаёт
гибкий и профессиональный пользовательский интерфейс.