Featherlight — это минималистичная библиотека для создания
легковесных модальных окон в JavaScript. Одним из ключевых элементов её
настройки является параметр background, который отвечает за
оформление заднего фона модального окна, а также за управление
поведением фонового слоя. Понимание и грамотное использование этого
параметра позволяет гибко настраивать внешний вид всплывающих окон и
взаимодействие с пользователем.
backgroundПараметр background контролирует фон модального
окна, который появляется за основным содержимым. Он выполняет
следующие функции:
По умолчанию Featherlight создаёт полупрозрачный чёрный
фон, но его свойства можно менять через настройку
background.
Параметр background может принимать следующие типы
значений:
Строка с CSS-цветом или градиентом Позволяет задать цвет или прозрачность фонового слоя:
$.featherlight.defaults.background = 'rgba(0, 0, 0, 0.7)';
Пример с градиентом:
$.featherlight.defaults.background = 'linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.9))';false Полностью отключает
отображение фонового слоя. Используется, когда модальное окно должно
отображаться без затемнения фона:
$.featherlight.defaults.background = false;Функция, возвращающая элемент или HTML Позволяет использовать кастомный DOM-элемент в качестве фонового слоя:
$.featherlight.defaults.background = function() {
var overlay = $('<div class="custom-overlay"></div>');
overlay.css({
backgroundColor: 'rgba(255,255,255,0.3)',
backdropFilter: 'blur(5px)'
});
return overlay;
};
Это даёт полный контроль над стилями и поведением фона.
Помимо визуального оформления, параметр background
взаимодействует с другими настройками Featherlight:
closeOnClick — определяет,
закрывается ли модальное окно при клике на фон:
$.featherlight.defaults.closeOnClick = 'background'; // только клик по фону закрывает окноbeforeOpen и
afterClose — позволяют запускать функции перед
появлением и после закрытия фонового слоя, что полезно для анимаций и
динамической настройки:
$.featherlight.defaults.beforeOpen = function() {
console.log('Модальное окно открывается, фон будет применен');
};CSS-анимации и переходы могут быть применены
через класс, который задаётся параметром background через
функцию или глобально через CSS:
.featherlight .featherlight-background {
transition: opacity 0.3s ease-in-out;
}Прозрачный фон с размытием:
$.featherlight.defaults.background = function() {
return $('<div></div>').css({
backgroundColor: 'rgba(255, 255, 255, 0.2)',
backdropFilter: 'blur(10px)'
});
};Фон с изображением:
$.featherlight.defaults.background = function() {
return $('<div></div>').css({
background: 'url("/images/background.jpg") no-repeat center center',
backgroundSize: 'cover'
});
};Убираем фон для мобильного интерфейса:
$.featherlight.defaults.background = window.innerWidth < 768 ? false : 'rgba(0,0,0,0.5)';z-index,
чтобы не перекрывать окно.position: fixed; top:0; left:0; width:100%; height:100%
обеспечивает полное покрытие.backdrop-filter) могут влиять на плавность работы на слабых
устройствах, особенно при анимациях.background: false) удобно для
нативного интегрирования всплывающих окон в минималистичный
интерфейс.Параметр background в Featherlight обеспечивает мощный и
гибкий инструмент для контроля визуального восприятия модальных окон,
позволяя адаптировать их под любые дизайнерские и функциональные
задачи.