Библиотека Featherlight предоставляет удобный способ
создания легковесных модальных окон в веб-приложениях. Одним из ключевых
элементов управления модальными окнами является возможность закрытия, и
параметр closeIcon отвечает за визуальное отображение
элемента закрытия.
closeIconПараметр closeIcon определяет HTML-код или
символ, который используется для отображения кнопки закрытия
модального окна. По умолчанию в Featherlight используется крестик
(×), расположенный в верхнем правом углу
окна.
Примеры использования дефолтного значения:
$.featherlight.defaults.closeIcon; // "×"
Если требуется заменить стандартный крестик на другую иконку или
HTML-элемент, closeIcon позволяет это сделать без
необходимости редактировать CSS напрямую.
closeIcon при инициализацииПараметр можно передавать при создании экземпляра Featherlight через объект настроек:
$.featherlight('<p>Содержимое модального окна</p>', {
closeIcon: '<span class="custom-close">Закрыть</span>'
});
В этом примере вместо стандартного крестика отображается текстовая
кнопка с классом custom-close. Этот класс позволяет
дополнительно настроить внешний вид через CSS.
Чтобы переопределить closeIcon для всех модальных окон
на сайте, используется глобальная настройка:
$.featherlight.defaults.closeIcon = '<span class="my-close-icon">✖</span>';
После этого любое окно Featherlight будет использовать новый элемент закрытия, пока не будет задано локальное значение для конкретного окна.
closeIcon сам по себе — это HTML-элемент, поэтому его
можно стилизовать с помощью CSS:
.custom-close {
position: absolute;
top: 10px;
right: 10px;
font-size: 18px;
cursor: pointer;
color: red;
}
Важно: элемент закрытия автоматически получает обработчик клика для закрытия модального окна. Не требуется дополнительное программирование для его работы.
featherlight-close для корректного позиционирования.closeIcon необходимо
убедиться, что внутри HTML нет элементов, которые могут перехватывать
событие click, иначе кнопка закрытия перестанет
работать.Пример с SVG-иконкой:
$.featherlight('<p>Содержимое</p>', {
closeIcon: '<svg width="24" height="24" viewBox="0 0 24 24"><line x1="0" y1="0" x2="24" y2="24"/><line x1="24" y1="0" x2="0" y2="24"/></svg>'
});
SVG автоматически будет корректно отображаться и реагировать на клики.
Можно передавать closeIcon только для конкретного окна.
Это полезно, если на одной странице нужны разные стили кнопок
закрытия:
$('#open-modal').click(function() {
$.featherlight('<p>Особое окно</p>', {
closeIcon: '<span class="special-close">×</span>'
});
});
В этом случае остальные окна используют глобальный крестик, а конкретное — кастомный элемент.
closeIcon удобно комбинировать с другими параметрами
Featherlight, например, namespace и variant,
чтобы создавать тематически стилизованные модальные окна.Параметр closeIcon является гибким инструментом
управления внешним видом кнопки закрытия, позволяя легко интегрировать
Featherlight в любые дизайны без изменения логики закрытия модального
окна.