Pie Timer

HTML/CSS

by Susan Yi

HTML

<div class='timer-container'>
  <div class='timer'></div>
</div>

CSS

.timer-container {
  background: -webkit-linear-gradient(left, #677291 50%, #D8DAE5 50%);
  border-radius: 100%;
  height: 30px;
  position: relative;
  top: 5px;
  left: 9px;
  width: 30px;
  -webkit-animation: time 20s linear 1;
  animation: time 20s linear 1;
  -webkit-transition-timing-function: ease-in;
  transition-timing-function: ease-in;
  -webkit-transition-duration: 1s;
  transition-duration: 1s;
  -moz-transform: translateZ(1) scale(1.0, 1.0);
  -ms-transform: translateZ(1) scale(1.0, 1.0);
  -o-transform: translateZ(1) scale(1.0, 1.0);
  -webkit-transform: translateZ(1) scale(1.0, 1.0);
   transform: translateZ(1) scale(1.0, 1.0);
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
}

.timer {
  border-radius: 100% 0 0 100% / 50% 0 0 50%;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 50%;
  -webkit-animation: mask 20s linear 1;
  -webkit-transform-origin: 100% 50%;
  -webkit-transition-timing-function: ease-in;
  -webkit-transition-duration: 1s;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

@-webkit-keyframes time { 100% { -webkit-transform: rotate(360deg); } }
@-webkit-keyframes mask {
  0% { background: #D8DAE5; -webkit-transform: rotate(0deg); }
  50% { background: #D8DAE5; -webkit-transform: rotate(-180deg); }
  50.01% { background: #677291; -webkit-transform: rotate(0deg); }
  100% { background: #677291; -webkit-transform: rotate(-180deg); }
}

@keyframes time { 100% { transform: rotate(360deg); }}
@keyframes mask {
  0% { background: #D8DAE5; transform: rotate(0deg); }
  50% { background: #D8DAE5; transform: rotate(-180deg); }
  50.01% { background: #677291; transform: rotate(0deg); }
  100% {background: #677291; transform: rotate(-180deg);}
}