<div class="flex">
  <div class="block"></div>
  <div class="block"></div>
  <div class="block"></div>
</div>
.flex{
  display: flex;
  justify-content: space-between;
  overflow: hidden
}
 

.block{
  position: relative;
  width: 50px;
  height: 50px;
  background-color: red;
}
.block::after{
    z-index: 1000;
    content: '';
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 5px;
    width: 0;
    background-color: green;
}
.block:hover::after{
    width: 100vw;
  
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.