Copy link to clipboard
Copied
Due to frequent requests recently, I decided it was time to offer a working image gallery with latest version of Bootstrap.
Here's a screenshot of the desktop view.
Working Code:
<!doctype html>
<html lang="en">
<head>
<title>Bootstrap 5.1.3 Demo</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!--Minified Bootstrap 5 CSS-->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
<!--Bootstrap Icons-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.2/font/bootstrap-icons.css">
<!--latest minified Bootstrap JS bundle-->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js">
//Script for Modal Gallery
var myCarousel = document.querySelector('#carouselControls')
var myModalEl = document.getElementById('myModal')
myModalEl.addEventListener('show.bs.modal', function (event) {
const trigger = event.relatedTarget
var bsCarousel = bootstrap.Carousel.getInstance(myCarousel)
bsCarousel.to(trigger.dataset.bsSlideTo)
})
</script>
<!--My Styles-->
<style>
.navbar a {font-size: 1.35rem}
a {color: tomato}
.modal-dialog {max-width:950px}
</style>
</head>
<body class="d-flex flex-column min-vh-100">
<!--navbar-->
<nav class="navbar navbar-expand-md navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#"><img class="rounded-circle" src="https://dummyimage.com/125x125&text=Brand/Logo" alt="Brand/logo"></a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#collapsibleNavbar">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="collapsibleNavbar">
<ul class="navbar-nav">
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-house"></i> Home</a></li>
<!--Begin Dropmenu-->
<li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown"><i class="bi bi-gear"></i>Dropmenu</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="#">Link</a></li>
<li><a class="dropdown-item" href="#">Another link</a></li>
<li><a class="dropdown-item" href="#">A third link</a></li>
</ul></li><!--end dropmenu-->
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-film"></i> Video</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-instagram"></i> Instagram</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-facebook"></i> Facebook</a></li>
<li class="nav-item"><a class="nav-link" href="#"><i class="bi bi-envelope"></i> Contact</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid mt-3">
<div class="row">
<div class="col">
<h1>Bootstrap 5 Modal Carousel Gallery</h1>
<p>Basic gallery, no other add-ons needed</p>
<!--MODAL CAROUSEL GALLERY-->
<!--list of thumbnails-->
<div class="list-group list-group-horizontal">
<a data-bs-toggle="modal" data-bs-target="#myModal" >
<div class="list-group-item text-center">
<img class="img-thumbnail" src="https://dummyimage.com/200x133/000/ff0" data-bs-slide-to="0" alt="..."><br>
Caption</div></a>
<a data-bs-toggle="modal" data-bs-target="#myModal">
<div class="list-group-item text-center">
<img class="img-thumbnail" src="https://dummyimage.com/200x133/999/fff" alt="..." data-bs-slide-to="1"><br>
Caption</div></a>
<a data-bs-toggle="modal" data-bs-target="#myModal">
<div class="list-group-item text-center">
<img class="img-thumbnail" src="https://dummyimage.com/200x133/ddd/f00" alt="..." data-bs-slide-to="2"><br>
Caption</div></a>
<!--end of thumbnails--></div>
<!-- Modal -->
<div class="modal fade" id="myModal" tabindex="-1" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h1 class="modal-title">
My Gallery Title</h1>
<button type="button" class="btn-close" aria-label="Close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
<!--CAROUSEL GOES HERE-->
<div id="carouselControls" class="carousel slide" data-bs-ride="carousel" data-bs-interval="false">
<div class="carousel-inner overflow-hidden">
<div class="carousel-item active">
<img class="img-fluid" src="https://dummyimage.com/900x500/000/ff0" alt="...">
<div class="carousel-caption">
<h3>Heading 3</h3>
<p>Slide description.</p>
</div>
</div>
<div class="carousel-item">
<img class="img-fluid" src="https://dummyimage.com/900x500/999/fff" alt="...">
<div class="carousel-caption">
<h3>Heading 3</h3>
<p>Next slide description.</p>
</div>
</div>
<div class="carousel-item">
<img class="img-fluid" src="https://dummyimage.com/900x500/ddd/f00" alt="...">
<div class="carousel-caption">
<h3>Heading 3</h3>
<p>Last slide description.</p>
</div>
</div>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselControls" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselControls" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
<div class="modal-footer">
<small>Placeholders from
<a href="https://dummyimage.com">DummyImage.com</a>
</small>
<button type="button" class="btn btn-primary" data-bs-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--Jumbotron from top-->
<div class="container">
<div class="row">
<div class="mt-4 p-5 bg-secondary text-light rounded">
<h3>Collapsible Navbar + Bootstrap Icons</h3>
<p>Navigation bar is hidden on small screens and replaced by a button in the top right corner. Click/tap button to reveal vertically stacked links.</p>
<h3>Bottom Footer</h3>
<p>On short pages, footer hugs page bottom.</p>
<h4 class="mt-3">
<a href="https://www.w3schools.com/bootstrap5/index.php">Bootstrap 5 Tutorials</a>
</h4>
<h4 class="mt-3">
<a href="https://diegomariano.com/bootstrap-icons-cheat-sheet/">Bootstrap Icons Cheat Sheet</a>
</h4>
</div>
</div>
</div>
<!--Begin Document Footer-->
<div class="container-fluid mt-auto">
<footer class="row bg-dark text-light">
<div class="mt-4 p-4">
<small>Footer<br>
XYZ Company | 1400 5th Ave, New York, NY | Tel: 123-456-7890<br>
©2023 all rights reserved.</small>
</div>
</footer>
</div>
</body>
</html>
Enjoy!
Have something to add?
Find more inspiration, events, and resources on the new Adobe Community
Explore Now