Анимированная Вертушка на CSS3

by Andrey Dobrovoi

HTML

<div class="pinwheel">
  <div class="flap"></div>
  <div class="flap"></div>
  <div class="flap"></div>
  <div class="flap"></div>
</div>

CSS

html,
body {
  height: 100%;
}
body {
  background: radial-gradient(ellipse at center, #bcc2cb 0%, #656f7f 100%);
}
.pinwheel {
  width: 200px;
  height: 200px;
  margin: 20% auto;
  position: relative;
  background: radial-gradient(ellipse at center, #f5f6f8 0%, #9ba3af 100%);
  box-shadow: 0 0 45px rgba(0, 0, 0, 0.3);
  transform: rotate(45deg);
  animation: rot 3s linear infinite;
}
.pinwheel .flap {
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 100px 100px 0 0;
  position: absolute;
  left: 50%;
  transform-origin: left bottom;
}
.pinwheel .flap:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 100px 25px 0 0;
  border-color: rgba(0, 0, 0, 0.1) transparent transparent transparent;
}
.pinwheel .flap:nth-of-type(4) {
  border-color: #f1c40f transparent transparent transparent;
  transform: rotate(405deg) scale(1.4);
}
.pinwheel .flap:nth-of-type(3) {
  border-color: #e74c3c transparent transparent transparent;
  transform: rotate(315deg) scale(1.4);
}
.pinwheel .flap:nth-of-type(2) {
  border-color: #2ecc71 transparent transparent transparent;
  transform: rotate(225deg) scale(1.4);
}
.pinwheel .flap:nth-of-type(1) {
  border-color: #3498db transparent transparent transparent;
  transform: rotate(135deg) scale(1.4);
}
@keyframes rot {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}