How to create responsive image gallery using HTML, CSS, jQuery and Bootstrap?
Last Updated :
05 May, 2025
With the advent of new frameworks in web technologies, it has become quite easy to design and implement feature-rich and responsive web pages. Here, we are going to design a responsive image gallery using HTML, CSS, jQuery, and Bootstrap.
Features or Functionalities to implement:
- Responsive images
- Responsive Grid System
- Image viewer
Responsive image galleryPrerequisites: Basic knowledge of HTML, CSS, JavaScript, jQuery, and Bootstrap. Also, the user should be aware of how the grid system in Bootstrap works. We will divide the complete solution into three different sections in the first section we will create the structure for the gallery. In the second section, we will design the gallery by using CSS. And in the last section will make it available to respond to the user's interactions. Creating structure: Initialize HTML layout and responsive images, but we will attach the images by jQuery, in an array format.
Bootstrap code: We will use a bootstrap modal as an image viewer and modify it according to our requirements accordingly. We will render all unnecessary components of the modal transparent. Remember, we are appending the image in the modal, so we need to use on() method to attach functionalities for such selectors.
jQuery code: Below is the script for appending in this manner. We'll be supposing that we are getting the images from the server (as an array of image URLs in JavaScript). Now we will append the image accordingly in the content panel of our page. Below is the implementation for the same
html
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<link rel="stylesheet"
href=
"https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src=
"https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js">
</script>
<script src=
"https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js">
</script>
</head>
<body>
<br>
<br>
<center>
<h1 class="text text-success">GeeksforGeeks</h1>
<b>Responsive image gallery</b>
</center>
<br>
<br>
<div class="container-fluid">
<center>
<div id=gallery>
<!-- Content is appended here -->
</div>
</center>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close"
data-dismiss="modal">
×
</button>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
</div>
</div>
</div>
</div>
</div>
</body>
</html>
CSS
img {
border-radius: 8px;
}
.container-fluid {
margin-left: 12px;
margin-right: 12px
}
.contain {
padding-top: 8px;
padding-bottom: 8px;
}
CSS
/* For overriding box-shadow and other default
effects of modal and it's children */
.modal,
.modal-content,
.modal-header,
.modal-footer {
background-color: transparent;
border: 0px;
color: white;
/* Disable box shadow for different browsers */
-webkit-box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 1);
-moz-box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 1);
box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 1);
}
.modal-dialog {
width: 100%;
height: 50%;
margin-top: 8px;
}
.close {
color: white;
opacity: 0.8;
}
.modal-body {
height: 75%;
}
JavaScript
// Taking Array of Image Addresses
// Suppose it as information from the server
// Modify this for different address
a = [
'https://www.geeksforgeeks.org/wp-content/uploads/javascript.png',
'https://www.geeksforgeeks.org/wp-content/uploads/jquery-banner.png',
'https://www.geeksforgeeks.org/wp-content/uploads/html-768x256.png',
'https://www.geeksforgeeks.org/wp-content/uploads/CSS-768x256.png',
'https://www.geeksforgeeks.org/wp-content/uploads/php-1-768x256.png',
'https://media.geeksforgeeks.org/wp-content/uploads/20200130114942/bootstrap4.png'
];
let x = 0;
for (let i = 0; x < a.length; i++) {
let append = "<div class='row'>";
for (let j = 0; j < 6 && x < a.length; j++) {
append += `
<div class="contain col-sm-6 col-md-2">
<img class="img-responsive" src=` + a[x++] + `>
</div>
`;
}
append += '</div>';
appender(append);
}
// Function to append the data
function appender(x) {
$('#gallery').html(function (i, original_html) {
return (original_html + x);
});
}
// For Image Modal
$(document).on('click', 'img', function () {
imgAddr = $(this).attr('src');
data = "<center><img src=" + imgAddr + " width='50%'>";
$('#myModal').find('.modal-body').html(data);
$('#myModal').modal();
});
Output:
Similar Reads
How to Create a Responsive Image Gallery using CSS? Creating a responsive image gallery using CSS is a common task in web development. A responsive gallery adjusts to different screen sizes and ensures that images look good on devices ranging from mobile phones to desktop monitors. In this article, we will explore different approaches to creating a r
3 min read
How to Create a Responsive Image Gallery in Bootstrap ? An image gallery is like a digital album where we can put our multiple images to attract user attention. We have used Bootstrap a CSS framework for Creating a Responsive Image Gallery where the layout adjusts automatically based on the screen size, ensuring that it looks good on both large desktop s
3 min read
How to Create a Responsive Image Grid using CSS? A responsive image grid is a layout technique used to display images in a grid-like structure that adjusts dynamically based on the screen size to ensure that the grid looks good and functions well across various devices and screen resolutions. Below are the approaches to creat a responsive image gr
3 min read
How to Create Image Lightbox Gallery using HTML CSS and JavaScript ? A lightbox gallery is basically used to view the gallery images in detail specifically. You can code the JavaScript to do so but also we can use some downloaded JS and CSS. In this article, we will download the lightbox and attach the JS and CSS files into our code. For our own design satisfaction,
3 min read
Creating Responsive Grid Vanilla using HTML,CSS and Bootstrap Many modern websites use a grid system to display chunks of data on their home-page as well as other pages. To much extent grid resembles a table, however, it is much more visually appealing and most often displays sibling elements. A grid must be responsive, i.e. it should adjust to the screen size
5 min read
How to create a Portfolio Gallery using HTML and CSS ? The portfolio gallery is useful when your website contains different types of content or so much content. With the help of a portfolio gallery, you can easily display all the content on your front page to the user. To create a portfolio gallery we will need only HTML and CSS. We can use JavaScript a
4 min read
How to create image slider using HTML CSS and JavaScript ? An image slide, or slideshow, is a dynamic display of images that automatically transitions from one to the next, often with animations. To create an image slide, use HTML to structure the images, CSS for styling and animations, and JavaScript to control the timing and transitions between images.App
3 min read
How to Create a Responsive Image Gallery with Flexbox? A responsive image gallery adjusts to different screen sizes to ensure that images look good on all devices. Flexbox, a CSS layout model, provides a powerful way to create a responsive image gallery by allowing flexible and efficient arrangements of items within a container. ApproachCreate a contain
3 min read
How to make Form Responsive using Bootstrap ? We are going to create a responsive form by using Bootstrap 5. responsiveness is a feature that allows users to interact with the web app on any device easily. It helps to create better UI interactions and a better user experience that can be a reason to have great traffic on the respective website.
4 min read
How to make a HTML div responsive using CSS ? The CSS Media Query can be used to make an HTML "div" responsive. The media queries allow the users to change or customize the web pages for many devices like desktops, mobile phones, tablets, etc without changing the markups. Using the media query, the user can change the style of a particular elem
2 min read