Lightbox
Bootstrap 5 Lightbox component
Responsive lightbox built with the latest Bootstrap 5. Lightbox is a responsive gallery with the option to enlarge selected photos.
MDB lightbox is a group of images combined in one responsive gallery. Elements are grouped in a thumbnail grid, which can be displayed as a slideshow.
Note: Read the API tab to find all available options and advanced customization
Basic example
A basic example of a lightbox with the most common use case with the bootstrap grid.
 
           
           
          Image optimization
      To ensure the proper performance of the page, it is recommended to include thumbnails of
      images in the src attribute. Then in the
      data-mdb-img attribute add the path to the image with higher resolution. If the
      data-mdb-img attribute is omitted, the lightbox will display the same image as in
      the reduced size.
    
Shadows and rounded corners
You can improve the look of the images by adding shadows and rounded corners.
 
           
           
          Different sizes
Loaded images can have any aspect ratio. Their size will be automatically adjusted to the window when you open the lightbox.
 
             
           
          Zoom level
      The data-mdb-zoom-level attribute allows you to define the size of a single zoom
      in / zoom out.
    
 
           
           
          Disabled image
      By adding a lightbox-disabled class to any image, you can exclude it from your
      lightbox. In the example below, the third image has been disabled.
    
 
           
           
           
          Captions
      Image captions can be added using the data-mdb-caption attribute. If it is not
      set, the data is taken from the alt attribute. When you want to disable caption,
      leave the data-mdb-caption empty.
    
Outside access
      The lightbox can be successfully operated via JavaScript. There are many public methods
      available such as open, slide, zoomIn,
      zoomOut, or close. All are described in the API tab.
    
 
           
           
          Lightbox - API
Usage
Via data attributes
        <div class="lightbox" data-mdb-zoom-level="0.5">
          <img
            src="https://mdbootstrap.com/img/Photos/Thumbnails/Slides/1.webp"
            data-mdb-img="https://mdbootstrap.com/img/Photos/Slides/1.webp"
            alt="Lightbox image 1"
            class="w-100"
          />
        </div>
      Via JavaScript
      const lightbox = document.getElementById('lightbox');
      const instance = mdb.Lightbox.getInstance(lightbox);
      instance.open();
    Via jQuery
Note: By default, MDB does not include jQuery and you have to add it to the project on your own.
 $('#lightbox').lightbox('open'); Options
      Options can be passed via data attributes, JavaScript, or jQuery. For data attributes, append
      the option name to data-mdb-, as in data-mdb-zoom-level="". The
      img and caption attributes should be pinned directly to the
      thumbnails, not to the lightbox wrapper element.
    
| Name | Type | Default | Description | 
|---|---|---|---|
| zoomLevel | Number / String | 1 | Defines zoom level while zooming in or out. | 
| fontAwesome | String | 'free' | Defines version of Font Awesome library. Available options are 'free' and 'pro'. | 
| img | String |  | Defines regular image to load when gallery is open. If not set, the value of srcattribute is taken. | 
| caption | String |  | Defines caption of the image. If not set, the value of altattribute is taken. | 
Methods
| Name | Parameters | Description | Example | 
|---|---|---|---|
| open | target | Opens the gallery and activates image set by the target key. Default is the first image. | instance.open(1) | 
| slide | target | Slides an image in the gallery. Available options: left,right,first,last. Dafault is right direction. | instance.slide('last') | 
| zoomIn | Zooms in active image by one level. | instance.zoomIn() | |
| zoomOut | Zooms out active image by one level. | instance.zoomOut() | |
| toggleFullscreen | Toggles fullscreen. | instance.toggleFullscreen() | |
| reset | Resets changed parameters such as position, zoom or fullscreen. | instance.reset() | |
| close | Closes the gallery. | instance.close() | |
| dispose | Removes the mdb.Lightbox instance. | instance.dispose() | |
| getInstance | element | Static method which allows to get the lightbox instance associated with a DOM element. | mdb.Lightbox.getInstance(element) | 
      const lightbox = document.getElementById('lightbox');
      const instance = mdb.Lightbox.getInstance(lightbox);
      instance.open(1);
    Events
| Name | Description | 
|---|---|
| open.mdb.lightbox | Emitted when a lightbox has been toggled. | 
| opened.mdb.lightbox | Emitted when a lightbox is opened. | 
| slide.mdb.lightbox | Emitted when a lightbox has been slided. | 
| slided.mdb.lightbox | Emitted after an image slide. | 
| zoomIn.mdb.lightbox | Emitted when an image has been zoom in. | 
| zoomedIn.mdb.lightbox | Emitted after an image is zoomed in. | 
| zoomOut.mdb.lightbox | Emitted when an image has been zoom out. | 
| zoomedOut.mdb.lightbox | Emitted after an image is zoomed out. | 
| close.mdb.lightbox | Emitted when a lightbox has been toggled. | 
| closed.mdb.lightbox | Emitted when a lightbox is closed. | 
        window.addEventListener('opened.mdb.lightbox', () => alert('Lightbox opened'));
      Import
MDB UI KIT also works with module bundlers. Use the following code to import this component:
      import { Lightbox } from 'mdb-ui-kit';
    