Создавайте модальные окна с различными стилями и переходами.
Как использовать модальные окна
Практика Простая инструкция по интеграции разметки модальных окон в шаблон Joomla 3 с применением RSForm.
Модальное окно состоит из оверлея, диалога и дополнительной кнопки закрытия.
Вы можете использовать любой элемент для вызова модального окна.
Чтобы включить JavaScript, добавьте атрибут uk-toggle
. Элемент <a>
должен быть связан с ID модального окна.
Если вы хотите использовать для вызова другой элемент, например, button, задайте ему атрибут uk-toggle="target: #ID"
для установки связи с контейнером модального окна по ID.
Добавьте атрибут uk-modal
к элементу <div>
для создания контейнера и добавления оверлея, который скрывает страницу при отображении модального окна.
Для корректной работоспособности необходимо добавить id
к контейнеру модального окна. Используйте следующие классы для определения модальных секций:
Класс | Описание |
---|---|
.uk-modal-dialog |
Добавьте этот класс к дочернему элементу <div> для создания диалогового окна. |
.uk-modal-body |
Добавьте этот класс для создания отступов между модальным окном и его содержимым. |
.uk-modal-title |
Добавьте этот класс к элементу заголовка модаьного окна. |
.uk-modal-close |
Добавьте этот класс к элементу <a> или <button> для создания кнопки закрытия. |
<!-- Кнопка вызова модального окна -->
<button uk-toggle="target: #my-id" type="button"></button>
<!-- Модальное окно -->
<div id="my-id" uk-modal>
<div class="uk-modal-dialog uk-modal-body">
<h2 class="uk-modal-title"></h2>
<button class="uk-modal-close" type="button"></button>
</div>
</div>
-
Открыть
Заголовок
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<!-- Кнопка вызова модального окна --> <button class="uk-button uk-button-default uk-margin-small-right" type="button" uk-toggle="target: #modal-example">Открыть</button> <!--Ссылка вызова модального окна --> <a href="#modal-example" uk-toggle>Открыть</a> <!-- Модальное окно --> <div id="modal-example" uk-modal> <div class="uk-modal-dialog uk-modal-body"> <h2 class="uk-modal-title">Заголовок</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p class="uk-text-right"> <button class="uk-button uk-button-default uk-modal-close" type="button">Закрыть</button> <button class="uk-button uk-button-primary" type="button">Сохранить</button> </p> </div> </div>
Кнопка закрытия
Чтобы создать кнопку закрытия, включить ее функциональность и добавить надлежащие стили и расположение, добавьте класс
.uk-modal-close-default
к элементу <a>
или <button>
.
Чтобы разместить кнопку закрытия за пределами модального окна, добавьте класс .uk-modal-close-outside
.
Добавьте атрибут uk-close
из компонента Close для вставки иконки-крестика.
<div id="my-id">
<div class="uk-modal-dialog">
<button class="uk-modal-close-default" type="button" uk-close></button>
</div>
</div>
<div id="my-id">
<div class="uk-modal-dialog">
<button class="uk-modal-close-outside" type="button" uk-close></button>
</div>
</div>
-
Заголовок
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Снаружи
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<!-- Это кнопка вызова модального режима с кнопкой закрытия по умолчанию --> <button class="uk-button uk-button-default uk-margin-small-right" type="button" uk-toggle="target: #modal-close-default">Кнопка</button> <!-- Это модальное окно с кнопкой закрытия по умолчанию --> <div id="modal-close-default" uk-modal> <div class="uk-modal-dialog uk-modal-body"> <button class="uk-modal-close-default" type="button" uk-close></button> <h2 class="uk-modal-title">Заголовок</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> </div> <!-- Это кнопка вызова модального окна с внешней кнопкой закрытия --> <button class="uk-button uk-button-default uk-margin-small-right" type="button" uk-toggle="target: #modal-close-outside">Снаружи</button> <!-- Это модальное окно с внешней кнопкой закрытия --> <div id="modal-close-outside" uk-modal> <div class="uk-modal-dialog uk-modal-body"> <button class="uk-modal-close-outside" type="button" uk-close></button> <h2 class="uk-modal-title">Снаружи</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> </div>
Режим центрирования
Чтобы задать вертикальное центрирование модального окна, используйте класс .uk-margin-auto-vertical
из компонента Margin.
<div id="my-id" class="uk-flex-top" uk-modal>
<div class="uk-modal-dialog uk-margin-auto-vertical"></div>
</div>
- Открыть
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<a class="uk-button uk-button-default" href="#modal-center" uk-toggle>Открыть</a> <div id="modal-center" class="uk-flex-top" uk-modal> <div class="uk-modal-dialog uk-modal-body uk-margin-auto-vertical"> <button class="uk-modal-close-default" type="button" uk-close></button> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> </div>
Внимание Класс .uk-flex-top
в модальном контейнере нужен для поддержки IE 11.
Шапка и подвал модального окна
Чтобы разделить модальное пространство на разные разделы контента, используйте следующие классы.
Класс | Описание |
---|---|
.uk-modal-header |
Добавьте этот класс к элементу <div> для создания шапки модального окна. |
.uk-modal-footer |
Добавьте этот класс к элементу <div> для создания подвала модального окна. |
<div id="my-id" uk-modal>
<div class="uk-modal-dialog">
<button class="uk-modal-close-default" type="button" uk-close></button>
<div class="uk-modal-header">
<h2 class="uk-modal-title"></h2>
</div>
<div class="uk-modal-body"></div>
<div class="uk-modal-footer"></div>
</div>
</div>
- Открыть
Заголовок
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<a class="uk-button uk-button-default" href="#modal-sections" uk-toggle>Открыть</a> <div id="modal-sections" uk-modal> <div class="uk-modal-dialog"> <button class="uk-modal-close-default" type="button" uk-close></button> <div class="uk-modal-header"> <h2 class="uk-modal-title">Заголовок</h2> </div> <div class="uk-modal-body"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> <div class="uk-modal-footer uk-text-right"> <button class="uk-button uk-button-default uk-modal-close" type="button">Закрыть</button> <button class="uk-button uk-button-primary" type="button">Сохранить</button> </div> </div> </div>
Добавьте класс .uk-modal-container
, чтобы расширить модальный диалог по умолчанию, как в компоненте Контейнер.
<div id="my-id" class="uk-modal-container" uk-modal>...</div>
- Открыть
Заголовок
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<a class="uk-button uk-button-default" href="#modal-container" uk-toggle>Открыть</a> <div id="modal-container" class="uk-modal-container" uk-modal> <div class="uk-modal-dialog uk-modal-body"> <button class="uk-modal-close-default" type="button" uk-close></button> <h2 class="uk-modal-title">Заголовок</h2> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> </div>
Полноэкранный режим
Чтобы создать полноэкранное модальное окно, добавьте класс .uk-modal-full
.
Также рекомендуется добавить класс .uk-modal-close-full
для кноки закрытия, чтобы адаптировать ее для этого режима.
<div id="my-id" class="uk-modal-full" uk-modal>
<div class="uk-modal-dialog">
<button class="uk-modal-close-full uk-close-large" type="button" uk-close></button>
</div>
</div>
Используйте компоненты Сетка и Ширина, чтобы создать качественное полноэкранное модальное окно.
- Открыть
Заголовок
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<a class="uk-button uk-button-default" href="#modal-full" uk-toggle>Открыть</a> <div id="modal-full" class="uk-modal-full" uk-modal> <div class="uk-modal-dialog"> <button class="uk-modal-close-full uk-close-large" type="button" uk-close></button> <div class="uk-grid-collapse uk-child-width-1-2@s uk-flex-middle" uk-grid> <div class="uk-background-cover" style="background-image: url('images/photo.jpg');" uk-height-viewport></div> <div class="uk-padding-large"> <h1>Заголовок</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> </div> </div> </div>
Переполнение
По умолчанию страница будет прокручиваться, если ее содержимое превышает высоту окна.
Для фиксации положения модального окна добавьте атрибут uk-overflow-auto
из компонента Утилиты.
<div id="my-id" uk-modal>
<div class="uk-modal-dialog" uk-overflow-auto></div>
</div>
- Открыть
Заголовок
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<a class="uk-button uk-button-default" href="#modal-overflow" uk-toggle>Открыть</a> <div id="modal-overflow" uk-modal> <div class="uk-modal-dialog"> <button class="uk-modal-close-default" type="button" uk-close></button> <div class="uk-modal-header"> <h2 class="uk-modal-title">Заголовок</h2> </div> <div class="uk-modal-body" uk-overflow-auto> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> <div class="uk-modal-footer uk-text-right"> <button class="uk-button uk-button-default uk-modal-close" type="button">Закрыть</button> <button class="uk-button uk-button-primary" type="button">Сохранить</button> </div> </div> </div>
Мультимедиа
Если вы хотите отобразить мультимедиа, вы должны сначала попробовать специально предназначенный для этого компонент Lightbox. Тем не менее, вы также можете использовать модальные окана, чтобы иметь больше контроля над разметкой.
Внимание Используйте атрибут uk-video
из компонента Видео чтобы убедиться, что видео останавливается при закрытии модального окна.
<div uk-modal>
<div class="uk-modal-dialog uk-width-auto">
<iframe src="" uk-video></iframe>
</div>
</div>
-
Изображение Видео YouTube Vimeo
<p uk-margin> <a class="uk-button uk-button-default" href="#modal-media-image" uk-toggle>Изображение</a> <a class="uk-button uk-button-default" href="#modal-media-video" uk-toggle>Видео</a> <a class="uk-button uk-button-default" href="#modal-media-youtube" uk-toggle>YouTube</a> <a class="uk-button uk-button-default" href="#modal-media-vimeo" uk-toggle>Vimeo</a> </p> <div id="modal-media-image" class="uk-flex-top" uk-modal> <div class="uk-modal-dialog uk-width-auto uk-margin-auto-vertical"> <button class="uk-modal-close-outside" type="button" uk-close></button> <img src="images/photo.jpg" alt=""> </div> </div> <div id="modal-media-video" class="uk-flex-top" uk-modal> <div class="uk-modal-dialog uk-width-auto uk-margin-auto-vertical"> <button class="uk-modal-close-outside" type="button" uk-close></button> <video controls playsinline uk-video> <source src="https://quirksmode.org/html5/videos/big_buck_bunny.mp4" type="video/mp4"> <source src="https://quirksmode.org/html5/videos/big_buck_bunny.ogv" type="video/ogg"> </video> </div> </div> <div id="modal-media-youtube" class="uk-flex-top" uk-modal> <div class="uk-modal-dialog uk-width-auto uk-margin-auto-vertical"> <button class="uk-modal-close-outside" type="button" uk-close></button> <iframe src="https://www.youtube-nocookie.com/embed/YE7VzlLtp-4" width="560" height="315" frameborder="0" uk-video></iframe> </div> </div> <div id="modal-media-vimeo" class="uk-flex-top" uk-modal> <div class="uk-modal-dialog uk-width-auto uk-margin-auto-vertical"> <button class="uk-modal-close-outside" type="button" uk-close></button> <iframe src="https://player.vimeo.com/video/1084537" width="500" height="281" frameborder="0" uk-video></iframe> </div> </div>
Группы окон
Вы можете сгруппировать несколько модальных окно, связывая их друг с другом. Используйте это, чтобы создать многостраничные формы внутри ваших модаьных окон.
<div id="modal-group-1" uk-modal>
<div class="uk-modal-dialog">
<a href="#modal-group-2" uk-toggle>Вперед</a>
</div>
</div>
<div id="modal-group-2" uk-modal>
<div class="uk-modal-dialog">
<a href="#modal-group-1" uk-toggle>Назад</a>
</div>
</div>
-
Заголовок 1
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Заголовок 2
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
<p uk-margin> <a class="uk-button uk-button-default" href="#modal-group-1" uk-toggle>Шаг 1</a> <a class="uk-button uk-button-default" href="#modal-group-2" uk-toggle>Шаг 2</a> </p> <div id="modal-group-1" uk-modal> <div class="uk-modal-dialog"> <button class="uk-modal-close-default" type="button" uk-close></button> <div class="uk-modal-header"> <h2 class="uk-modal-title">Заголовок 1</h2> </div> <div class="uk-modal-body"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> <div class="uk-modal-footer uk-text-right"> <button class="uk-button uk-button-default uk-modal-close" type="button">Закрыть</button> <a href="#modal-group-2" class="uk-button uk-button-primary" uk-toggle>Далее</a> </div> </div> </div> <div id="modal-group-2" uk-modal> <div class="uk-modal-dialog"> <button class="uk-modal-close-default" type="button" uk-close></button> <div class="uk-modal-header"> <h2 class="uk-modal-title">Заголовок 2</h2> </div> <div class="uk-modal-body"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </div> <div class="uk-modal-footer uk-text-right"> <button class="uk-button uk-button-default uk-modal-close" type="button">Закрыть</button> <a href="#modal-group-1" class="uk-button uk-button-primary" uk-toggle>Далее</a> </div> </div> </div>
Опции компонента
Любые опции из этого списка могут быть добавлены к атрибуту компонента. Отделяйте параметры друг от друга точкой с запятой. Подробнее о синтаксисе
Опция | Значение | По умолчанию | Описание |
---|---|---|---|
esc-close |
Boolean | true |
Разрешить закрытие окна кнопкой Esc. |
bg-close |
Boolean | true |
Закрытие окна по клику на оверлей. |
stack |
Boolean | false |
Наборы модальных окон, когда открыто более одного. По умолчанию предыдущее окно будет скрыто. |
container |
String | true |
Определите целевой контейнер с помощью селектора, чтобы указать, где модальный объект должен быть добавлен в DOM. Установите false , чтобы отменить это поведение. |
JavaScript
Подробнее о компонентах JavaScript.
Инициализация
UIkit.modal(element, options);
Опции JavaScript
Имя | По умолчанию | Описание |
---|---|---|
cls-page |
'uk-modal-page' |
Класс для добавления к <body> в момент отображения модального окна. |
cls-panel |
'uk-modal-dialog' |
Класс элемента, который следует считать диалогом модального окна. |
sel-close |
'.uk-modal-close, .uk-modal-close-default, .uk-modal-close-outside, .uk-modal-close-full' |
CSS селектор для всех элементов, которые должны вызывать закрытие модального окна |
Диалоги модальных окон
Компонент поставляется с рядом подготовленных модальных диалогов, которые вы можете использовать для взаимодействия с пользователем. Вы можете вызвать диалог напрямую из JavaScript и использовать функции обратного вызова для обработки ввода пользователя.
Код | Описание |
---|---|
UIkit.modal.alert('UIkit alert!') |
Показать окно оповещения с одной кнопкой. |
UIkit.modal.confirm('UIkit confirm!') |
Показать диалог подтверждения с вашим сообщением и двумя кнопками. |
UIkit.modal.prompt('Name:', 'Your name') |
Показать диалог, запрашивающий ввод текста. |
UIkit.modal.dialog('<p>UIkit dialog!</p>'); |
Показать диалог с любым содержимым HTML. |
Для обработки ввода пользователя, модальное окно использует интерфейс then()
, который обеспечивает функционал для регистрации ваших функций обратного вызова.
UIkit.modal.confirm('UIkit confirm!').then(function() {
console.log('Confirmed.')
}, function () {
console.log('Rejected.')
});
<p uk-margin> <a id="js-modal-dialog" class="uk-button uk-button-default" href="#">Диалог</a> <a id="js-modal-alert" class="uk-button uk-button-default" href="#">Оповещение</a> <a id="js-modal-confirm" class="uk-button uk-button-default" href="#">Подтверждение</a> <a id="js-modal-prompt" class="uk-button uk-button-default" href="#">Подсказка</a> <script> UIkit.util.on('#js-modal-dialog', 'click', function (e) { e.preventDefault(); e.target.blur(); UIkit.modal.dialog('<p class="uk-modal-body">UIkit dialog!</p>'); }); UIkit.util.on('#js-modal-alert', 'click', function (e) { e.preventDefault(); e.target.blur(); UIkit.modal.alert('UIkit alert!').then(function () { console.log('Alert closed.') }); }); UIkit.util.on('#js-modal-confirm', 'click', function (e) { e.preventDefault(); e.target.blur(); UIkit.modal.confirm('UIkit confirm!').then(function () { console.log('Confirmed.') }, function () { console.log('Rejected.') }); }); UIkit.util.on('#js-modal-prompt', 'click', function (e) { e.preventDefault(); e.target.blur(); UIkit.modal.prompt('Name:', 'Your name').then(function (name) { console.log('Prompted:', name) }); }); </script> </p>
События
Следующие события будут инициированы для элементов, связанных с этим компонентом:
Имя | Описание |
---|---|
beforeshow |
Срабатывает до отображения элемента. |
show |
Срабатывает после отображения элемента. |
shown |
Запускается после завершения анимации появления элемента. |
beforehide |
Срабатывает до скрытия элемента. |
hide |
Срабатывает после запуска анимации скрытия элемента. |
hidden |
Срабатывает после того, как элемент скрыт. |
Методы
Для компонента доступны следующие методы:
Show
UIkit.modal(element).show();
Отображает модальное окно.
Hide
UIkit.modal(element).hide();
Скрывает модальное окно.