index.less 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. @import './var.less';
  2. :root {
  3. --van-password-input-height: @password-input-height;
  4. --van-password-input-margin: @password-input-margin;
  5. --van-password-input-font-size: @password-input-font-size;
  6. --van-password-input-border-radius: @password-input-border-radius;
  7. --van-password-input-background-color: @password-input-background-color;
  8. --van-password-input-info-color: @password-input-info-color;
  9. --van-password-input-info-font-size: @password-input-info-font-size;
  10. --van-password-input-error-info-color: @password-input-error-info-color;
  11. --van-password-input-dot-size: @password-input-dot-size;
  12. --van-password-input-dot-color: @password-input-dot-color;
  13. --van-password-input-text-color: @password-input-text-color;
  14. --van-password-input-cursor-color: @password-input-cursor-color;
  15. --van-password-input-cursor-width: @password-input-cursor-width;
  16. --van-password-input-cursor-height: @password-input-cursor-height;
  17. --van-password-input-cursor-animation-duration: @password-input-cursor-animation-duration;
  18. }
  19. .van-password-input {
  20. position: relative;
  21. margin: var(--van-password-input-margin);
  22. user-select: none;
  23. &__info,
  24. &__error-info {
  25. margin-top: var(--van-padding-md);
  26. font-size: var(--van-password-input-info-font-size);
  27. text-align: center;
  28. }
  29. &__info {
  30. color: var(--van-password-input-info-color);
  31. }
  32. &__error-info {
  33. color: var(--van-password-input-error-info-color);
  34. }
  35. &__security {
  36. display: flex;
  37. width: 100%;
  38. height: var(--van-password-input-height);
  39. cursor: pointer;
  40. &::after {
  41. border-radius: var(--van-password-input-border-radius);
  42. }
  43. li {
  44. position: relative;
  45. display: flex;
  46. flex: 1;
  47. align-items: center;
  48. justify-content: center;
  49. height: 100%;
  50. color: var(--van-password-input-text-color);
  51. font-size: var(--van-password-input-font-size);
  52. line-height: 1.2;
  53. background: var(--van-password-input-background-color);
  54. }
  55. i {
  56. position: absolute;
  57. top: 50%;
  58. left: 50%;
  59. width: var(--van-password-input-dot-size);
  60. height: var(--van-password-input-dot-size);
  61. background: var(--van-password-input-dot-color);
  62. border-radius: 100%;
  63. transform: translate(-50%, -50%);
  64. visibility: hidden;
  65. }
  66. }
  67. &__cursor {
  68. position: absolute;
  69. top: 50%;
  70. left: 50%;
  71. width: var(--van-password-input-cursor-width);
  72. height: var(--van-password-input-cursor-height);
  73. background: var(--van-password-input-cursor-color);
  74. transform: translate(-50%, -50%);
  75. animation: var(--van-password-input-cursor-animation-duration)
  76. van-cursor-flicker infinite;
  77. }
  78. }
  79. @keyframes van-cursor-flicker {
  80. from {
  81. opacity: 0;
  82. }
  83. 50% {
  84. opacity: 1;
  85. }
  86. 100% {
  87. opacity: 0;
  88. }
  89. }