Free Web Design Code & Scripts

Bootstrap 5 Team Card Template

Code Snippet:Profile Card with Hover Effect using Bootstrap 5.2
Author: Awy
Published: 6 months ago
Last Updated: 6 months ago
Downloads: 161
License: MIT
Edit Code online: View on CodePen
Read More

Creating a visually appealing and informative team card is essential for showcasing your team members on your website. This tutorial will guide you through creating a Bootstrap 5 Team Card Template with engaging hover effects, skill bars, and social media links.

Step 1: Include Header Assets

First, you need to include the necessary CSS stylesheets in the section of your HTML document. This includes Bootstrap 5 for styling and Font Awesome for icons.

<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.2/css/bootstrap.min.css'>
<link rel='stylesheet' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.0/css/all.min.css'>

Step 2: Create the HTML Structure

Next, create the basic HTML structure for the team card template using Bootstrap’s grid system. This structure includes a container, rows, and columns to arrange the team cards. Each card includes a card body for the content and a card footer for social media links.

<div class="container mt-3">
  <div class="row">
    <h1 class="text-white text-center">Hover the Image</h1>
  </div>
  <div class="row">
    <div class="col-lg-4 col-md-6 col-sm-6">
      <div class="card mb-2">
        <div class="card-body bg-primary p-0">
          <div class="box-satu d-flex flex-column justify-content-center align-items-center">
            <div class="avatar position-relative d-flex flex-column justify-content-center align-items-center">
              <div class="teks">
                <h6 class="mt-1">SKILL</h6>
                <div class="row">
                  <div class="col-5">
                    <p>HTML</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-primary" role="progressbar" aria-label="Default striped example" style="width: 95%" aria-valuenow="95" aria-valuemin="0" aria-valuemax="100"> 95%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>CSS</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-label="Default striped example" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">90%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>JS</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-warning" role="progressbar" aria-label="Default striped example" style="width: 80%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">80%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>PHOTOSHOP</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-info" role="progressbar" aria-label="Default striped example" style="width: 80%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">80%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>ILLUSTRATOR</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar" aria-label="Default striped example" style="width: 85%" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100">85%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>XD</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-secondary" role="progressbar" aria-label="Default striped example" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">90%</div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <h5 class="mb-0 text-white">Someone Famous</h5>
            <a href="#" class="text-white">@SomeoneFamous69</a>
          </div>

        </div>
        <div class="card-footer">
          <ul class="wrapper d-flex justify-content-center p-0 m-1">
            <li class="icon facebook">
              <span class="tooltip">Facebook</span>
              <span><i class="fab fa-facebook-f"></i></span>
            </li>
            <li class="icon twitter">
              <span class="tooltip">Twitter</span>
              <span><i class="fab fa-twitter"></i></span>
            </li>
            <li class="icon instagram">
              <span class="tooltip">Instagram</span>
              <span><i class="fab fa-instagram"></i></span>
            </li>
            <li class="icon github">
              <span class="tooltip">Github</span>
              <span><i class="fab fa-github"></i></span>
            </li>
            <li class="icon youtube">
              <span class="tooltip">Youtube</span>
              <span><i class="fab fa-youtube"></i></span>
            </li>
          </ul>
        </div>
      </div>
    </div>
    <div class="col-lg-4 col-md-6 col-sm-6">
      <div class="card mb-2">
        <div class="card-body bg-danger p-0">
          <div class="box-satu d-flex flex-column justify-content-center align-items-center">
            <div class="avatar-dua position-relative d-flex flex-column justify-content-center align-items-center">
              <div class="teks" style="background-color: rgba(224, 20, 76, 0.3);">
                <h6 class="mt-1">SKILL</h6>
                <div class="row">
                  <div class="col-5">
                    <p>HTML</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-primary" role="progressbar" aria-label="Default striped example" style="width: 95%" aria-valuenow="95" aria-valuemin="0" aria-valuemax="100"> 95%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>CSS</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-label="Default striped example" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">90%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>JS</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-warning" role="progressbar" aria-label="Default striped example" style="width: 80%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">80%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>PHOTOSHOP</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-info" role="progressbar" aria-label="Default striped example" style="width: 80%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">80%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>ILLUSTRATOR</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar" aria-label="Default striped example" style="width: 85%" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100">85%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>XD</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-secondary" role="progressbar" aria-label="Default striped example" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">90%</div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <h5 class="mb-0 text-white">Someone Famous</h5>
            <a href="#" class="text-white">@SomeoneFamous69</a>
          </div>

        </div>
        <div class="card-footer">
          <ul class="wrapper d-flex justify-content-center p-0 m-1">
            <li class="icon facebook">
              <span class="tooltip">Facebook</span>
              <span><i class="fab fa-facebook-f"></i></span>
            </li>
            <li class="icon twitter">
              <span class="tooltip">Twitter</span>
              <span><i class="fab fa-twitter"></i></span>
            </li>
            <li class="icon instagram">
              <span class="tooltip">Instagram</span>
              <span><i class="fab fa-instagram"></i></span>
            </li>
            <li class="icon github">
              <span class="tooltip">Github</span>
              <span><i class="fab fa-github"></i></span>
            </li>
            <li class="icon youtube">
              <span class="tooltip">Youtube</span>
              <span><i class="fab fa-youtube"></i></span>
            </li>
          </ul>
        </div>
      </div>
    </div>
    <div class="col-lg-4 col-md-6 col-sm-6">
      <div class="card mb-2">
        <div class="card-body bg-warning p-0">
          <div class="box-satu d-flex flex-column justify-content-center align-items-center">
            <div class="avatar-tiga position-relative d-flex flex-column justify-content-center align-items-center">
              <div class="teks">
                <h6 class="mt-1">SKILL</h6>
                <div class="row">
                  <div class="col-5">
                    <p>HTML</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-primary" role="progressbar" aria-label="Default striped example" style="width: 95%" aria-valuenow="95" aria-valuemin="0" aria-valuemax="100"> 95%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>CSS</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-label="Default striped example" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">90%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>JS</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-warning" role="progressbar" aria-label="Default striped example" style="width: 80%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">80%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>PHOTOSHOP</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-info" role="progressbar" aria-label="Default striped example" style="width: 80%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">80%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>ILLUSTRATOR</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-success" role="progressbar" aria-label="Default striped example" style="width: 85%" aria-valuenow="85" aria-valuemin="0" aria-valuemax="100">85%</div>
                    </div>
                  </div>
                </div>
                <div class="row">
                  <div class="col-5">
                    <p>XD</p>
                  </div>
                  <div class="col-7">
                    <div class="progress">
                      <div class="progress-bar progress-bar-striped progress-bar-animated bg-secondary" role="progressbar" aria-label="Default striped example" style="width: 90%" aria-valuenow="90" aria-valuemin="0" aria-valuemax="100">90%</div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
            <h5 class="mb-0">Someone Famous</h5>
            <a href="#">@SomeoneFamous69</a>
          </div>

        </div>
        <div class="card-footer">
          <ul class="wrapper d-flex justify-content-center p-0 m-1">
            <li class="icon facebook">
              <span class="tooltip">Facebook</span>
              <span><i class="fab fa-facebook-f"></i></span>
            </li>
            <li class="icon twitter">
              <span class="tooltip">Twitter</span>
              <span><i class="fab fa-twitter"></i></span>
            </li>
            <li class="icon instagram">
              <span class="tooltip">Instagram</span>
              <span><i class="fab fa-instagram"></i></span>
            </li>
            <li class="icon github">
              <span class="tooltip">Github</span>
              <span><i class="fab fa-github"></i></span>
            </li>
            <li class="icon youtube">
              <span class="tooltip">Youtube</span>
              <span><i class="fab fa-youtube"></i></span>
            </li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</div>

Step 3: Add CSS Styling

Now, add the CSS styles to customize the appearance of the team cards. This includes styles for the card layout, hover effects, skill bars, and social media icons.

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*:focus,
*:active {
  outline: none !important;
  -webkit-tap-highlight-color: transparent;
}

body {
  background-color: #222;
}

a {
  text-decoration: none;
  color: #333;
}

.wrapper {
  list-style: none;
}

.wrapper .icon {
  /*   position: relative; */
  background: #fff;
  border-radius: 50%;
  padding: 0px;
  margin: 5px;
  width: 40px;
  height: 40px;
  font-size: 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.wrapper .facebook:hover,
.wrapper .facebook:hover .tooltip,
.wrapper .facebook:hover .tooltip::before {
  background: #1877f2;
  color: #ffffff;
}

.wrapper .twitter:hover,
.wrapper .twitter:hover .tooltip,
.wrapper .twitter:hover .tooltip::before {
  background: #1da1f2;
  color: #ffffff;
}

.wrapper .instagram:hover,
.wrapper .instagram:hover .tooltip,
.wrapper .instagram:hover .tooltip::before {
  background: #e4405f;
  color: #ffffff;
}

.wrapper .github:hover,
.wrapper .github:hover .tooltip,
.wrapper .github:hover .tooltip::before {
  background: #333333;
  color: #ffffff;
}

.wrapper .youtube:hover,
.wrapper .youtube:hover .tooltip,
.wrapper .youtube:hover .tooltip::before {
  background: #cd201f;
  color: #ffffff;
}

.box-satu {
  width: 100%;
  height: 300px;
  object-fit: cover;
  /*   cursor: pointer; */
}

.avatar {
  width: 100px;
  height: 100px;
  margin-bottom: 10px;
  overflow: hidden;
  background-image: url("https://source.unsplash.com/Z9ZKGIs8voI");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 5px;
  background-color: red;
  transition: 0.5s ease-in-out;
}

.avatar:hover {
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  border-radius: 0;
  background-image: url("https://source.unsplash.com/sztWS6R3UlA");
  padding: 0;
  transition: 0.5s ease-in-out;
}

.avatar-dua {
  width: 100px;
  height: 100px;
  margin-bottom: 10px;
  overflow: hidden;
  background-image: url("https://source.unsplash.com/3xTP_gWUlrg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 5px;
  transition: 0.5s ease-in-out;
}

.avatar-dua:hover {
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  border-radius: 0;
  background-image: url("https://source.unsplash.com/fAkHKZf3NPk");
  padding: 0;
  transition: 0.5s ease-in-out;
}

.avatar-tiga {
  width: 100px;
  height: 100px;
  margin-bottom: 10px;
  overflow: hidden;
  background-image: url("https://source.unsplash.com/QXevDflbl8A");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border-radius: 5px;
  background-color: red;
  transition: 0.5s ease-in-out;
}

.avatar-tiga:hover {
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  border-radius: 0;
  background-image: url("https://source.unsplash.com/_nbv8YREOWQ");
  padding: 0;
  transition: 0.5s ease-in-out;
}

.avatar > .teks {
  display: none;
  color: #222;
  width: 90%;
  height: 90%;
  border-radius: 5px;
  background-color: rgba(71, 181, 255, 0.6);
  transition: 0.5s 0.5s ease-in-out;
}

.avatar:hover > .teks {
  display: block;
  padding: 0px 15px 0px 5px;
  font-size: 0.7em;
  font-weight: bold;
  transition: 0.5s 0.5s ease-in-out;
}

.avatar-dua > .teks {
  display: none;
  color: #fff;
  width: 90%;
  height: 90%;
  border-radius: 5px;
  background-color: rgba(224, 20, 76, 0.7);
  transition: 0.5s 0.5s ease-in-out;
}

.avatar-dua:hover > .teks {
  display: block;
  padding: 0px 15px 0px 5px;
  font-size: 0.7em;
  font-weight: bold;
  transition: 0.5s 0.5s ease-in-out;
}

.avatar-tiga > .teks {
  display: none;
  color: #fff;
  width: 90%;
  height: 90%;
  border-radius: 5px;
  background-color: rgba(254, 177, 57, 0.5);
  transition: 0.5s 0.5s ease-in-out;
}

.avatar-tiga:hover > .teks {
  display: block;
  padding: 0px 15px 0px 5px;
  font-size: 0.7em;
  font-weight: bold;
  transition: 0.5s 0.5s ease-in-out;
}

Step 4: Final Result

That completes the tutorial! You have successfully created a Bootstrap 5 Team Card Template with hover effects, skill bars, and social media links.

Loading... ...

Loading preview...

Device: Desktop
Dimensions: 1200x800
Lines: 0 Characters: 0 Ln 1, Ch 1

Leave a Comment

About W3Frontend

W3Frontend provides free, open-source web design code and scripts to help developers and designers build faster. Every snippet is reviewed before publishing for quality. Learn more.