Snippets Animation

Bootstrap 5 Animated Photo Gallery with Hover Effects

A dense, responsive photo gallery on a dark stage where images brighten and zoom on hover and reveal a place name.

Bootstrap 5 No jQuery Feb 2020 2.5K views

<section class="wdw-stage" style="background:#0f1117;">
  <div class="container" style="max-width: 1100px;" data-bs-theme="dark">
    <div class="mb-4">
      <span class="wdw-eyebrow">Journal</span>
      <h2 class="wdw-heading h3 mb-0">Places worth the trip</h2>
    </div>
    <div class="ag-grid" id="ag">
      <figure class="ag-item tall">
        <img src="https://images.unsplash.com/photo-1441974231531-c6227db76b6e?auto=format&fit=crop&w=700&q=70" alt="Kyoto" loading="lazy">
        <figcaption>Kyoto</figcaption>
      </figure>
      <figure class="ag-item ">
        <img src="https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=700&q=70" alt="Bali" loading="lazy">
        <figcaption>Bali</figcaption>
      </figure>
      <figure class="ag-item ">
        <img src="https://images.unsplash.com/photo-1469474968028-56623f02e42e?auto=format&fit=crop&w=700&q=70" alt="Cusco" loading="lazy">
        <figcaption>Cusco</figcaption>
      </figure>
      <figure class="ag-item tall">
        <img src="https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?auto=format&fit=crop&w=700&q=70" alt="Vienna" loading="lazy">
        <figcaption>Vienna</figcaption>
      </figure>
      <figure class="ag-item wide">
        <img src="https://images.unsplash.com/photo-1501785888041-af3ef285b470?auto=format&fit=crop&w=700&q=70" alt="Hallstatt" loading="lazy">
        <figcaption>Hallstatt</figcaption>
      </figure>
      <figure class="ag-item ">
        <img src="https://images.unsplash.com/photo-1519681393784-d120267933ba?auto=format&fit=crop&w=700&q=70" alt="Zermatt" loading="lazy">
        <figcaption>Zermatt</figcaption>
      </figure>
      <figure class="ag-item ">
        <img src="https://images.unsplash.com/photo-1507525428034-b723cf961d3e?auto=format&fit=crop&w=700&q=70" alt="Oaxaca" loading="lazy">
        <figcaption>Oaxaca</figcaption>
      </figure>
      <figure class="ag-item wide">
        <img src="https://images.unsplash.com/photo-1464822759023-fed622ff2c3b?auto=format&fit=crop&w=700&q=70" alt="Tatra" loading="lazy">
        <figcaption>Tatra</figcaption>
      </figure>
    </div>
  </div>
</section>

Built on Bootstrap 5.3.8 with plain JavaScript — no jQuery. Supports light and dark mode via data-bs-theme.