modals

How it Works

Getting started with Butter Cake's modal component, be sure to read the following as our menu options have recently changed.

  • Modals are built with HTML, CSS, and JavaScript. They’re positioned over everything else in the document and remove scroll from the <body> so that modal content scrolls instead.
  • Clicking on the modal “backdrop” will automatically close the modal.
  • Butter supports multiple modal windows at a time. not tested on mobile
  • Modals use position: fixed, which can sometimes be a bit particular about its rendering. Whenever possible, place your modal HTML in a top-level position to avoid potential interference from other elements. You’ll likely run into issues when nesting a .modal within another fixed element.
  • Due to how HTML5 defines its semantics, the autofocus HTML attribute has no effect in Butter Cake's modals.

Basic Modal

Modal options


To open a modal add .modal-open class and data-modal="ModalID" attribute to a button

To Close a modal add .modal-close class and data-modal="ModalID" attribute to a button

Basic Modal Snippet
<div class="modal" id="modalID">
    <div class="modal-container modal-sm">
        <div class="modal-header">
            <h5 class="modal-title">Modal Header</h5>
            <div class="modal-close" data-modal="modalID"><i class="fa fa-close"></i></div>
        </div>

        <div class="modal-body">
            <p>Modal Body</p>
        </div>

        <div class="modal-footer">
            <button class="modal-close btn-gray" data-modal="modalID">Close</button>
            <button class="btn-primary" data-modal="modalID">Save</button>
        </div>
    </div>
</div>

Mutiple Modal



Mutiple Modal Snippet
<!-- MODAL ONE -->
<div class="modal" id="modal1">
    <div class="modal-container modal-sm">
        <!-- header -->
        <div class="modal-header bg-secondary">
            <h5 class="modal-title text-white">First modal</h5>
            <div class="modal-close" data-modal="modal1"><i class="fa fa-close"></i></div>
        </div>

        <div class="modal-body">
            <a href="#!" class="btn-primary modal-open" data-modal="modal2">Open Second Modal</a>
        </div>
    </div>
</div>

<!-- MODAL TWO -->
<div class="modal" id="modal2">
    <div class="modal-container modal-sm">
        <!-- header -->
        <div class="modal-header bg-secondary">
            <h5 class="modal-title text-white">Second Modal</h5>
            <div class="modal-close" data-modal="modal2"><i class="fa fa-close"></i></div>
        </div>

        <div class="modal-body">
            <a href="#!" class="btn-primary modal-open" data-modal="modal3">Modal Three</a>
        </div>
    </div>
</div>

<!-- MODAL THREE -->
<div class="modal" id="modal3">
    <div class="modal-container modal-sm">
        <!-- header -->
        <div class="modal-header bg-secondary">
            <h5 class="modal-title text-white">Third Modal</h5>
            <div class="modal-close" data-modal="modal3"><i class="fa fa-close"></i></div>
        </div>

        <div class="modal-body">
            <a href="#!" class="btn-primary modal-close" data-modal="modal3">Modal Close</a>
        </div>
    </div>
</div>