SOURCE

console 命令行工具 X clear

                    
>
console
<div class="container">
  <div class="eye">
    <div class="iris">
      <div class="iris-1">
        <div class="iris-2">
          <div class="pupil"></div>
          <div class="iris-mark iris-mark-1">,</div>
          <div class="iris-mark iris-mark-2">,</div>
          <div class="iris-mark iris-mark-3">,</div>
        </div>
      </div>
    </div>
    <div class="brightness"></div>
    <div class="brightness--1"></div>
  </div>
</div>
$irisSize: 11em;
$red: #b00000;

body {
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh;
  background-color: black;
  text-rendering: optimizeLegibility;
}

.container {
  .eye {
    position: relative;
    width: 12em;
    height: 20em;
    margin: 0 auto;
    border-radius: 100% 0px;
    transform: rotate(75deg);
    display: flex;
    justify-content: center;
    align-items: center;
    border: 8px solid #1e1f26;
    overflow: hidden;
    box-shadow: 5px 17px 20px 4px #210000;
    animation: open 0.4s;

    &:before {
      content: "";
      width: 12em;
      height: 23em;
      position: absolute;
      border-radius: 100%;
      background-color: white;
      box-shadow: inset 20px -2px 20px 0px lightgrey;
      transform: rotate(30deg);
      z-index: 1;
    }

    &:after {
      content: "";
      width: 24em;
      height: 24em;
      position: absolute;
      border-radius: 100%;
      background-color: white;
      box-shadow: inset -3px 4px 20px 0px lightgray;
    }

    &:hover {
      .pupil {
        width: 2.7em;
        height: 2.7em;
      }

      .brightness {
        width: 1.9em;
        height: 2.9em;

        &--1 {
          top: 11.1em;
          left: 7em;
        }
      }
    }

    .pupil {
      width: 3em;
      height: 3em;
      background-color: black;
      border-radius: 100%;
      box-shadow: 0px 0px 20px 0px;
      transition-duration: 0.5s;
      position: relative;
    }

    .iris {
      width: $irisSize;
      height: $irisSize;
      background-color: $red;
      display: flex;
      justify-content: center;
      align-items: center;
      border-radius: 100%;
      z-index: 1;
      box-shadow: 0px 0px 20px 0px #8b451391;
      margin-bottom: 3em;
      margin-right: 3em;
      border: 8px solid #770707;
      animation: rotateIris 1.4s;

      &-1 {
        height: $irisSize;
        width: $irisSize;
        box-shadow: 0 0 1px 1px $red;
        background: linear-gradient(
          90deg,
          $red 1%,
          $red 22%,
          $red 50%,
          $red 76%,
          $red 99%
        );
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100%;
      }

      &-2 {
        height: $irisSize - 5;
        width: $irisSize - 5;
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 100%;
        border: 4px solid #870000;
        position: relative;
      }

      &-mark {
        position: absolute;
        font-size: 8em;
        text-shadow: 0 1px 8px #fd0404;

        &-1 {
          left: 0.2em;
          bottom: -0.25em;
          transform: rotate(30deg);
        }

        &-2 {
          bottom: 0;
          left: 0.45em;
          transform: rotate(-40deg);
        }

        &-3 {
          bottom: -0.1em;
          left: 0.2em;
          transform: scaleY(-1);
        }
      }
    }

    .brightness {
      width: 2em;
      height: 3em;
      background-color: white;
      position: absolute;
      z-index: 1;
      top: 5em;
      border-radius: 14px 31px 10px 7px / 68px 28px 4px 9px;
      opacity: 0.8;
      transition-duration: 0.4s;

      &--1 {
        position: absolute;
        width: 1em;
        height: 2em;
        top: 11em;
        left: 7em;
        background-color: white;
        box-shadow: none;
        z-index: 1;
        border-radius: 27px 26px 23px 9px / 92px 58px 43px 14px;
        opacity: 0.8;
        transition-duration: 0.4s;
      }
    }
  }
}

@keyframes open {
  from {
    height: 0em;
    transform: rotate(0deg);
  }
  to {
  }
}

@keyframes rotateIris {
  from {
    transform: rotate(-0deg);
  }
  to {
    transform: rotate(360deg);
  }
}