Modal

Provides styles for different types of modals.

Overview

Modals are used to show content to the user. These are made up by four main sections, header, body, actions and footer. Each section can contain several elements like title, action buttons, etc.

Modals are styled with the .modal class

<div class="modal show" id="example-modal" tabindex="-1" role="dialog" aria-labelledby="example-modal"> <div class="modal__dialog" role="document"> <div class="modal__header"> <h3 class="modal__title">Title</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> </div> <div class="modal__body"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus finibus dolor felis, a accumsan eros dictum non. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus finibus dolor felis, a accumsan. </div> <div class="modal__actions"> <a href="" class="btn">Tertiary button</a><a href="" class="btn btn--primary">Primary button</a> </div> </div> </div>

The modal header is styled with the .modal__header class and can contain a sub-title, a title, a content-share button and a closing 'x' button.

<div class="modal show" id="example-modal-header-1" tabindex="-1" role="dialog" aria-labelledby="example-modal-header-1"> <div class="modal__dialog" role="document"> <div class="modal__header"> <div class="modal__sub-title">Sub-title</div> <h3 class="modal__title">Title</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> <button type="button" class="modal__share icon-share" data-toggle="tooltip" data-html="true" data-placement="bottom" data-trigger="click" data-title='<div class="social-share__box">Digital Citizenship<div class="social-share__box-divider"></div> <a href="#" class="social-share__icon-link icon-email"></a><a href="#" class="social-share__icon-link icon-printer-solid"></a></div>'> More </button> </div> </div> </div> <div class="modal show" id="example-modal-header-2" tabindex="-1" role="dialog" aria-labelledby="example-modal-header-2"> <div class="modal__dialog" role="document"> <div class="modal__header"> <h3 class="modal__title">Title</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> <button type="button" class="modal__share icon-share" data-toggle="tooltip" data-html="true" data-placement="bottom" data-trigger="click" data-title='<div class="social-share__box">Digital Citizenship<div class="social-share__box-divider"></div> <a href="#" class="social-share__icon-link icon-email"></a><a href="#" class="social-share__icon-link icon-printer-solid"></a></div>'> More </button> </div> </div> </div>

Dark header

The modal header supports a black variant using the .modal--dark class along with the root .modal class.

<div class="modal modal--dark show" id="example-modal-header-dark" tabindex="-1" role="dialog" aria-labelledby="example-modal-header-dark"> <div class="modal__dialog" role="document"> <div class="modal__header"> <h3 class="modal__title">Title</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> <button type="button" class="modal__share icon-share" data-toggle="tooltip" data-html="true" data-placement="bottom" data-trigger="click" data-title='<div class="social-share__box">Digital Citizenship<div class="social-share__box-divider"></div> <a href="#" class="social-share__icon-link icon-email"></a><a href="#" class="social-share__icon-link icon-printer-solid"></a></div>'> More </button> </div> </div> </div>

Body & action

The modal body is styled with the .modal__body class and can contain content to show to the user. The modal actions are styled with the .modal__actions class and can contain one or two action buttons.

<div class="modal show" id="example-modal-body" tabindex="-1" role="dialog" aria-labelledby="example-modal-body"> <div class="modal__dialog" role="document"> <div class="modal__body"> Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus finibus dolor felis, a accumsan eros dictum non. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus finibus dolor felis, a accumsan. </div> <div class="modal__actions"> <a href="#" class="btn">Tertiary button</a><a href="#" class="btn btn--primary">Primary button</a> </div> </div> </div>

The modal footer is styled with the .modal__footer class and can contain short footer notes.

<div class="modal show" id="example-modal-footer" tabindex="-1" role="dialog" aria-labelledby="example-modal-footer"> <div class="modal__dialog" role="document"> <div class="modal__footer">Optional footnote section</div> </div> </div>

Live examples

Modals must provide and set an id to the root .modal element. This is required to identify each modal instance and be able to show them when using the trigger elemets. An element can be used as a trigger element using the data-toggle="modal" data attribute. The modal the trigger will show is set using the data-modal="{moodal-id}" data attribute.

Show live example modal
<a href="#" data-toggle="modal" data-target="#example-modal-live">Show live example modal</a> <div class="modal fade" id="example-modal-live" tabindex="-1" role="dialog" aria-labelledby="example-modal-live"> <div class="modal__dialog" role="document"> <div class="modal__header"> <div class="modal__sub-title">Optional sub-title</div> <h3 class="modal__title">Title</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> </div> <div class="modal__body"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce fringilla viverra purus. Aliquam erat volutpat. Praesent ipsum massa, mattis id augue tristique, volutpat hendrerit dolor. Proin interdum magna a sem dapibus posuere. Curabitur vestibulum erat id dolor ornare, vitae ultrices metus vulputate. In non lobortis risus. Morbi nec maximus nibh. In hac habitasse platea dictumst. Etiam varius dictum ullamcorper.</p> </div> <div class="modal__actions"> <a href="" class="btn">Tertiary button</a><a href="" class="btn btn--primary">Primary button</a> </div> <div class="modal__footer">Optional footnote section </div> </div> </div>

Modal can be shown as full screen modal using the .modal--full class along with the root .modal class.

Show live example full-screen modal
<a href="#" data-toggle="modal" data-target="#example-modal-live-full">Show live example full-screen modal</a> <div class="modal modal--full fade" id="example-modal-live-full" tabindex="-1" role="dialog" aria-labelledby="example-modal-live-full"> <div class="modal__dialog" role="document"> <div class="modal__header"> <h3 class="modal__title">Title</h3> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> </div> <div class="modal__body"> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Fusce fringilla viverra purus. Aliquam erat volutpat. Praesent ipsum massa, mattis id augue tristique, volutpat hendrerit dolor. Proin interdum magna a sem dapibus posuere. Curabitur vestibulum erat id dolor ornare, vitae ultrices metus vulputate. In non lobortis risus. Morbi nec maximus nibh. In hac habitasse platea dictumst. Etiam varius dictum ullamcorper.</p> <p>Quisque a rhoncus ante. Vivamus vulputate id velit in fringilla. Praesent augue lorem, semper bibendum justo id, ultricies iaculis diam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vivamus lacus quam, viverra a tellus sit amet, fermentum congue dolor. Nulla ornare ac velit eget ornare. Morbi rutrum consequat arcu at tempor. Aliquam sit amet est nibh. Proin lobortis sem et viverra volutpat. Morbi fringilla nibh et lacus tempor mattis. Fusce sit amet ullamcorper risus, quis bibendum velit. Phasellus eu laoreet tellus, sed maximus mi.</p> </div> <div class="modal__actions"> <a href="" class="btn">Tertiary button</a><a href="" class="btn btn--primary">Primary button</a> </div> <div class="modal__footer">Optional footnote section </div> </div> </div>

Media Modal

Modal can also be used to show media to the user. The media modals are styled using the .modal--nedia class along with the .modal class. These do not provide both actions and footer sections. The body of a media modal can provide additional elements, the actual media to show to user, a media info panel open button, a media info panel and a media info panel close button depending on the need of the type of media to show (video, image, slider, etc).

Show media modal
<a href="#" data-toggle="modal" data-target="#example-modal-media">Show media modal</a> <div class="modal modal--media fade" id="example-modal-media" tabindex="-1" role="dialog" aria-labelledby="example-modal-media"> <div class="modal__dialog" role="document"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> <div class="modal__header"> <div class="modal__sub-title">Optional sub-title</div> <h3 class="modal__title">Video Title</h3> <button type="button" class="modal__share icon-share" data-toggle="tooltip" data-html="true" data-placement="bottom" data-trigger="click" data-title='<div class="social-share__box">Digital Citizenship<div class="social-share__box-divider"></div> <a href="#" class="social-share__icon-link icon-email"></a><a href="#" class="social-share__icon-link icon-printer-solid"></a></div>'> More </button> </div> <div class="modal__body"> <div class="modal__media"> <img src="https://dt77qwgp6ykyk.cloudfront.net/sites/default/files/styles/video_thumbnail_hd_large/public/video-thumbnails/toy-story-4-site_0.jpg?itok=Vwuy54Az"> </div> </div> </div> </div>

Video

A video modal must provide all the body elements. These are styled using the .modal__media class for the actual media, .modal__media-info-open class for the info open button, .modal__media-info class for the info panel and .modal__media-info-close class for the info close button. To make it work properly, the media info panel HTML must be added before the media one.

Show video modal 1

Show video modal 2

<a href="#" data-toggle="modal" data-target="#example-modal-media-video-1">Show video modal 1</a> <div class="modal modal--media fade" id="example-modal-media-video-1" tabindex="-1" role="dialog" aria-labelledby="example-modal-media-video-1"> <div class="modal__dialog" role="document"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> <div class="modal__header"> <div class="modal__sub-title">Optional sub-title</div> <h3 class="modal__title">Video Title</h3> <button type="button" class="modal__share icon-share" data-toggle="tooltip" data-html="true" data-placement="bottom" data-trigger="click" data-title='<div class="social-share__box">Digital Citizenship<div class="social-share__box-divider"></div> <a href="#" class="social-share__icon-link icon-email"></a><a href="#" class="social-share__icon-link icon-printer-solid"></a></div>'> More </button> </div> <div class="modal__body"> <div class="modal__media"> <img src="https://dt77qwgp6ykyk.cloudfront.net/sites/default/files/styles/video_thumbnail_hd_large/public/video-thumbnails/toy-story-4-site_0.jpg?itok=Vwuy54Az"> </div> <div class="modal__media-info"> <div class="modal__media-info-text"> Nam quis nulla. Integer malesuada. In in enim a arcu imperdiet malesuada. Sed vel lectus. Donec odio urna, tempus molestie, porttitor ut, iaculis quis, sem. Phasellus rhoncus. Aenean id metus id velit ullamcorper pulvinar. Nam quis nulla. Integer malesuada. In in enim a arcu imperdiet malesuada. Sed vel lectus. </div> <div class="modal__media-info-action"> <button type="button" class="btn btn--secondary btn--block">Secondary button</button> </div> </div> </div> </div> </div> <a href="#" data-toggle="modal" data-target="#example-modal-media-video-2">Show video modal 2</a> <div class="modal modal--media fade" id="example-modal-media-video-2" tabindex="-1" role="dialog" aria-labelledby="example-modal-media-video-2"> <div class="modal__dialog" role="document"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"></button> <div class="modal__header"> <div class="modal__sub-title">Optional sub-title</div> <h3 class="modal__title">Video Title</h3> <button type="button" class="modal__share icon-share" data-toggle="tooltip" data-html="true" data-placement="bottom" data-trigger="click" data-title='<div class="social-share__box">Digital Citizenship<div class="social-share__box-divider"></div> <a href="#" class="social-share__icon-link icon-email"></a><a href="#" class="social-share__icon-link icon-printer-solid"></a></div>'> More </button> </div> <div class="modal__body"> <div class="modal__media"> <img src="https://dt77qwgp6ykyk.cloudfront.net/sites/default/files/styles/video_thumbnail_hd_large/public/video-thumbnails/toy-story-4-site_0.jpg?itok=Vwuy54Az"> </div> <div class="modal__media-info"> <div class="modal__media-info-text"> Nam quis nulla. Integer malesuada. In in enim a arcu imperdiet malesuada. Sed vel lectus. Donec odio urna, tempus molestie, porttitor ut, iaculis quis, sem. Phasellus rhoncus. Aenean id metus id velit ullamcorper pulvinar. Nam quis nulla. Integer malesuada. In in enim a arcu imperdiet malesuada. Sed vel lectus. <div class="modal__media-info-text-watch"> <strong>Continue watching:</strong> <img src="https://dt77qwgp6ykyk.cloudfront.net/sites/default/files/styles/video_player_thumb/public/video-thumbnails/what-is-squad-horizontal-640-360.jpg"> </div> </div> <div class="modal__media-info-action"> <a href="#" class="link link--cta">Click here</a> for a lesson plan on this topic! </div> </div> </div> </div> </div>

Download

Get a bundle with all modal styles.

Download

Get a bundle with all modal Javascript.

Download
<p>Get a bundle with all modal styles.</p> <a href="/styles/molecules/modals.css" download="cs-modals.css" target="_blank" class="btn btn--primary">Download</a> <p>Get a bundle with all modal Javascript.</p> <a href="/js/modals.min.js" download="cs-modals.min.js" target="_blank" class="btn btn--primary">Download</a>

results matching ""

    No results matching ""