<h1>Animated Skills Bar</h1>
    <div class="skill-bars">
      <div class="bar">
        <div class="info"> <span>HTML</span> </div>
        <div class="progress-line html"> <span></span> </div>
      </div>
      <div class="bar">
        <div class="info"> <span>CSS</span> </div>
        <div class="progress-line css"> <span></span> </div>
      </div>
      <div class="bar">
        <div class="info"> <span>Java Script</span> </div>
        <div class="progress-line JavaScript"> <span></span> </div>
      </div>
      <div class="bar">
        <div class="info"> <span>React</span> </div>
        <div class="progress-line react"> <span></span> </div>
      </div>
    </div>
@import url('https://fonts.googleapis.com/css2?family=Poppins:[email protected];300;400;500;600;700&display=swap');
*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Poppins', sans-serif;
}
html,body{
  display: grid; height: 100%;
  place-items: center;
  background-color: lightgray;
}
h1{
  font-size: 4rem;
  text-align: center;
  color: #fff;
  text-shadow: 5px 5px black;
  margin-top: 50px;
  margin-bottom :50px;
}
.skill-bars{
  padding: 25px 30px;
  width: 900px; 
  background: #fff;
  box-shadow: 5px 5px 20px rgba(0,0,0,0.2);
  border-radius: 10px;
  margin-bottom: 100px;
  box-shadow: 4px 4px black;
}
.bar{
  margin: 20px 0;
}
.bar:first-child{
  margin-top: 0px;
}
.info{
  margin-bottom: 5px;
}
.info span{
  font-weight: 500;
  font-size: 17px; opacity: 0;
  animation: showText 0.5s 1s linear forwards;
}
@keyframes showText {
  100%{
    opacity: 1;
  }
}
.progress-line{
  height: 10px; width: 100%;
  background: #f0f0f0; position: relative;
  transform: scaleX(0); transform-origin: left;
  border-radius: 10px;
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.05),
              0 1px rgba(255,255,255,0.8);
  animation: animate 1s cubic-bezier(1,0,0.5,1) forwards;
}
.progress-line span{
  height: 100%; position: absolute;
  border-radius: 10px;
  transform: scaleX(0);
  transform-origin: left;
  background: #ff4d4f;
  animation: animate 1s 1s cubic-bezier(1,0,0.5,1) forwards;
}
.progress-line span::before{
  position: absolute; content: "";
  top: -10px; right: 0;
  height: 0; width: 0; opacity: 0;
  border: 7px solid transparent;
  border-bottom-width: 0px;
  border-right-width: 0px;
  border-top-color: #000;
  animation: showText2 0.5s 1.5s linear forwards;
}
.progress-line span::after{
  position: absolute; top: -28px;
  right: 0; font-weight: 500;
  background: #000;
  color: #fff; opacity: 0;
  padding: 1px 8px;
  font-size: 12px;
  border-radius: 3px;
  animation: showText2 0.5s 1.5s linear forwards;
}
@keyframes animate {
  100%{
    transform: scaleX(1);
  }
}
.html span{
  width: 84%;
}
.css span{
  width: 92%;
}
.JavaScript span{
  width: 60%;
}
.react span{
  width: 80%;
}
@keyframes showText2 {
  100%{
    opacity: 1;
  }
}
.html span::after{
  content: "84%";
}
.css span::after{
  content: "92%";
}
.JavaScript span::after{
  content: "60%";
}
.react span::after{
  content: "80%";
}

/* Media Query */
/* For tablet */
@media screen and (max-width:900px){
  h1{
    font-size: 3rem;
    text-align: center;
    color: #fff;
    text-shadow: 3px 4px black;
  }
  .skill-bars{
  padding: 15px 20px;
  width: 600px; 
  background: #fff;
  box-shadow: 5px 5px 20px rgba(0,0,0,0.2);
  border-radius: 10px;

  }

}
/* For mobile */
@media screen and (max-width :600px) {
  h1{
    font-size: 2rem;
    text-align: center;
    color: #fff;
    text-shadow: 3px 4px black;
  }
  .skill-bars{
    padding: 10px 10px;
    width: 400px; 
    background: #fff;
    box-shadow: 5px 5px 20px rgba(0,0,0,0.2);
    border-radius: 8px;
  
  }
  
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.