<section>
  <div class="hamburger">
      <div></div>
      <div></div>
      <div></div>
  </div>
</section>
*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --bar-thickness: 5px;
}

section {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
}

body{background-color: #eee;}

.hamburger {
    width: 40px;
    height: 40px;
    position: relative;
    transition: transform .5s;
}

.hamburger:hover {transform: rotate(90deg);}

.hamburger div {
    position: absolute;
    width: 100%;
    height: 5px;
    background-color: #333;
    border-radius: 3px;
    transform-origin: 50% 50%;
    transition: .5s .25s;
}

.hamburger div:nth-child(1){top: 0;}
.hamburger div:nth-child(2){top: calc(50% - var(--bar-thickness) / 2);}
.hamburger div:nth-child(3){top: calc(100% - var(--bar-thickness));}

.hamburger:hover div{top: calc(50% - var(--bar-thickness) / 2);}
.hamburger:hover div:nth-child(1){transform: rotate(-135deg);}
.hamburger:hover div:nth-child(2){opacity: 0;}
.hamburger:hover div:nth-child(3){transform: rotate( 135deg);}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.