@keyframes s-cursor-flicker { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } } .s-code-input { position: relative; display: flex; overflow: hidden; &__item { position: relative; display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: $code-input-size; height: $code-input-size; &__text { font-size: $code-input-font-size; line-height: 1; color: $code-input-color; } &__dot { width: $code-input-dot-size; height: $code-input-dot-size; border-radius: 50%; background-color: $code-input-color; } &__line { position: absolute; bottom: 0; width: $code-input-size; height: 8rpx; border-radius: 200rpx; background-color: $code-input-borde-color; } &__cursor { position: absolute; top: 50%; left: 50%; width: $code-input-cursor-width; height: $code-input-cursor-height; transform: translate(-50%, -50%); animation: $code-input-cursor-animation-duration s-cursor-flicker infinite; background-color: currentColor; } } &__input { position: absolute; top: 0; left: -750rpx; width: 1500rpx; height: $code-input-size; text-align: left; background-color: transparent; } &--box &__item { border-style: solid; border-color: $code-input-borde-color; } }