Cookie Consent
Bootstrap 5 Cookie Consent banner
Bootstrap cookie banner is a popup window with cookie notice required by GDPR. Learn how to create a modal like this with Bootstrap 5 or download free examples.
Basic example
Click the button to launch the cookie consent.
<!-- Button trigger modal -->
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-modal-init data-mdb-target="#cookieconsent1">
Launch cookie consent
</button>
<!-- Modal -->
<div class="modal fade" id="cookieconsent1" tabindex="-1" aria-labelledby="cookieconsentLabel1" aria-hidden="true" data-mdb-backdrop="static" data-mdb-keyboard="false">
<div class="modal-dialog modal-sm d-flex justify-content-center">
<div class="modal-content text-center">
<div class="modal-header d-flex justify-content-center">
<h5 class="modal-title text-primary" id="cookieconsentLabel1">Cookies & Privacy</h5>
</div>
<div class="modal-body p-4">
This website uses cookies to ensure you get the best experience on our website.
</div>
<div class="modal-footer d-flex justify-content-center">
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-outline-primary" href="#">Learn more</button>
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-dismiss="modal">Confirm</button>
</div>
</div>
</div>
</div>
<!-- Modal -->
With icon
You can add an icon for cookie consent. Remove the .modal-sm
that is next to the .modal-dialog
to extend the modal and make space for the icon.
<!-- Button trigger modal -->
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary mb-2" data-mdb-modal-init data-mdb-target="#cookieconsent2">
Launch cookie consent
</button>
<!-- Modal -->
<div class="modal fade" id="cookieconsent2" tabindex="-1" aria-labelledby="cookieconsentLabel2" aria-hidden="true" data-mdb-backdrop="static" data-mdb-keyboard="false">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header bg-primary text-white">
<h5 class="modal-title" id="cookieconsentLabel2">Cookies & Privacy</h5>
</div>
<div class="modal-body">
<div class="row">
<div class="col-3 d-flex align-items-center justify-content-center">
<i class="fas fa-cookie-bite fa-4x text-primary"></i>
</div>
<div class="col-9">
<p>This website uses cookies to ensure you get the best experience on our website.<a class="d-block" href="#">Read more about cookies</a></p>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-outline-primary" data-mdb-dismiss="modal">Reject</button>
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-dismiss="modal">
Accept
</button>
</div>
</div>
</div>
</div>
<!-- Modal -->
With checkboxes
Add checkboxes if you want the user to be able to select which cookie consent is consented to.
<!-- Button trigger modal -->
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-modal-init data-mdb-target="#cookieconsent3">
Launch cookie consent
</button>
<!-- Modal -->
<div class="modal top fade" id="cookieconsent3" tabindex="-1" aria-labelledby="cookieconsentLabel3" aria-hidden="true" data-mdb-backdrop="static" data-mdb-keyboard="false">
<div class="modal-dialog">
<div class="modal-content d-block text-start">
<div class="modal-header d-block ">
<h5 class="modal-title" id="cookieconsentLabel3">Cookies & Privacy</h5>
<p>
This website uses cookies to ensure you get the best experience on our website.
</p>
<p>
<a href="#">Read more about cookies</a>
</p>
</div>
<div class="modal-body">
<!-- Necessary checkbox -->
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="necessary" checked />
<label class="form-check-label" for="necessary">
<p>
<strong>Necessary cookies</strong>
<muted>help with the basic functionality of our website, e.g remember if you gave consent to cookies.</muted>
</p>
</label>
</div>
<!-- Analytical checkbox -->
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="analytical" />
<label class="form-check-label" for="analytical">
<p>
<strong>Analytical cookies</strong>
<muted>make it possible to gather statistics about the use and trafiic on our website, so we can make it better.</muted>
</p>
</label>
</div>
<!-- Marketing checkbox -->
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="marketing" />
<label class="form-check-label" for="marketing">
<p>
<strong>Marketing cookies</strong>
<muted>make it possible to show you more relevant social media content and advertisements on our website and other platforms.</muted>
</p>
</label>
</div>
</div>
<div class="modal-footer">
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-outline-primary" data-mdb-dismiss="modal">
Accept necessary
</button>
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-dismiss="modal">
Accept all
</button>
</div>
</div>
</div>
</div>
Frame
To make the modal "frame-like" add .modal-frame
class to the .modal-dialog
element. You also need to specify the direction by adding .modal-bottom
or .modal-top
to the
..modal-dialog
.
<!-- Button trigger modal -->
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary" data-mdb-modal-init data-mdb-target="#cookieconsent4">
Launch frame modal
</button>
<!-- Modal frame bottom example -->
<div class="modal fade bottom" id="cookieconsent4" tabindex="-1" aria-labelledby="cookieconsent4" aria-hidden="true">
<div class="modal-dialog modal-frame modal-bottom">
<div class="modal-content rounded-0">
<div class="modal-body py-1">
<div class="d-flex justify-content-center align-items-center my-3">
<p class="mb-0">We use cookies to improve your website experience</p>
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-primary btn-sm ms-2" data-mdb-dismiss="modal">Ok, thanks</button>
<button type="button" data-mdb-button-init data-mdb-ripple-init class="btn btn-outline-primary btn-sm ms-2">Learn more</button>
</div>
</div>
</div>
</div>
</div>
<!-- Modal frame bottom example-->