Snippets Animation

Bootstrap 5 Team Section with Hover Social Links

A responsive team grid of portrait cards with a soft zoom on hover that reveals each person's social links over a readable gradient scrim.

Bootstrap 5 No jQuery Dec 2019 2.4K views

<section class="wdw-stage">
  <div class="container" style="max-width: 1040px">
    <div class="text-center mb-4 mb-md-5">
      <span class="wdw-eyebrow mb-2">Our team</span>
      <h1 class="wdw-heading display-6 mb-2">The people behind the work</h1>
      <p class="wdw-muted mb-0">Designers, engineers and strategists who care about the details.</p>
    </div>
    <div class="row g-3 g-md-4">
      <div class="col-6 col-lg-3">
        <article class="wdw-member">
          <img src="https://i.pravatar.cc/480?img=12" alt="Portrait of Daniel Okafor" loading="lazy">
          <div class="wdw-member-info">
            <h2 class="h6 fw-bold mb-0">Daniel Okafor</h2>
            <p class="small mb-0 wdw-role">Head of Design</p>
            <div class="wdw-socials d-flex gap-2"><a href="#" class="wdw-social" aria-label="Daniel Okafor on LinkedIn"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 9h4v11H4zM6 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4M10 9h4v1.6C14.6 9.600 15.800 9 17.200 9 20 9 21 10.800 21 13.600V20h-4v-5.600c0-1.300-.4-2.200-1.600-2.200-1.300 0-1.900.9-1.900 2.200V20h-4z" fill="currentColor" stroke="none"/></svg></a><a href="#" class="wdw-social" aria-label="Daniel Okafor on X"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 4l16 16M20 4 4 20"/></svg></a><a href="#" class="wdw-social" aria-label="Daniel Okafor on Email"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></svg></a></div>
          </div>
        </article>
      </div>
      <div class="col-6 col-lg-3">
        <article class="wdw-member">
          <img src="https://i.pravatar.cc/480?img=47" alt="Portrait of Elena Marsh" loading="lazy">
          <div class="wdw-member-info">
            <h2 class="h6 fw-bold mb-0">Elena Marsh</h2>
            <p class="small mb-0 wdw-role">Product Manager</p>
            <div class="wdw-socials d-flex gap-2"><a href="#" class="wdw-social" aria-label="Elena Marsh on LinkedIn"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 9h4v11H4zM6 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4M10 9h4v1.6C14.6 9.600 15.800 9 17.200 9 20 9 21 10.800 21 13.600V20h-4v-5.600c0-1.300-.4-2.200-1.600-2.200-1.300 0-1.900.9-1.900 2.200V20h-4z" fill="currentColor" stroke="none"/></svg></a><a href="#" class="wdw-social" aria-label="Elena Marsh on X"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 4l16 16M20 4 4 20"/></svg></a><a href="#" class="wdw-social" aria-label="Elena Marsh on Email"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></svg></a></div>
          </div>
        </article>
      </div>
      <div class="col-6 col-lg-3">
        <article class="wdw-member">
          <img src="https://i.pravatar.cc/480?img=13" alt="Portrait of Marcus Lee" loading="lazy">
          <div class="wdw-member-info">
            <h2 class="h6 fw-bold mb-0">Marcus Lee</h2>
            <p class="small mb-0 wdw-role">Lead Engineer</p>
            <div class="wdw-socials d-flex gap-2"><a href="#" class="wdw-social" aria-label="Marcus Lee on LinkedIn"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 9h4v11H4zM6 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4M10 9h4v1.6C14.6 9.600 15.800 9 17.200 9 20 9 21 10.800 21 13.600V20h-4v-5.600c0-1.300-.4-2.200-1.600-2.200-1.300 0-1.900.9-1.900 2.200V20h-4z" fill="currentColor" stroke="none"/></svg></a><a href="#" class="wdw-social" aria-label="Marcus Lee on X"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 4l16 16M20 4 4 20"/></svg></a><a href="#" class="wdw-social" aria-label="Marcus Lee on Email"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></svg></a></div>
          </div>
        </article>
      </div>
      <div class="col-6 col-lg-3">
        <article class="wdw-member">
          <img src="https://i.pravatar.cc/480?img=5" alt="Portrait of Sofia Alvarez" loading="lazy">
          <div class="wdw-member-info">
            <h2 class="h6 fw-bold mb-0">Sofia Alvarez</h2>
            <p class="small mb-0 wdw-role">Brand Strategist</p>
            <div class="wdw-socials d-flex gap-2"><a href="#" class="wdw-social" aria-label="Sofia Alvarez on LinkedIn"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 9h4v11H4zM6 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4M10 9h4v1.6C14.6 9.600 15.800 9 17.200 9 20 9 21 10.800 21 13.600V20h-4v-5.600c0-1.300-.4-2.200-1.600-2.200-1.300 0-1.900.9-1.900 2.200V20h-4z" fill="currentColor" stroke="none"/></svg></a><a href="#" class="wdw-social" aria-label="Sofia Alvarez on X"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M4 4l16 16M20 4 4 20"/></svg></a><a href="#" class="wdw-social" aria-label="Sofia Alvarez on Email"><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><rect x="3" y="5" width="18" height="14" rx="2"/><path d="m3 7 9 6 9-6"/></svg></a></div>
          </div>
        </article>
      </div>
    </div>
  </div>
</section>

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