mock-interviews.component.scss 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. //动画特效
  2. .container {
  3. display: flex;
  4. flex-direction: column;
  5. align-items: center;
  6. justify-content: center;
  7. height: 100vh;
  8. }
  9. .btn-82,
  10. .btn-82 *,
  11. .btn-82 :after,
  12. .btn-82 :before,
  13. .btn-82:after,
  14. .btn-82:before {
  15. border: 0 solid;
  16. box-sizing: border-box;
  17. }
  18. .btn-82 {
  19. -webkit-tap-highlight-color: transparent;
  20. -webkit-appearance: button;
  21. background-color: darkgreen;
  22. background-image: none;
  23. color: pink;
  24. cursor: pointer;
  25. font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,
  26. Segoe UI, Roboto, Helvetica Neue, Arial, Noto Sans, sans-serif,
  27. Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  28. font-size: 100%;
  29. font-weight: 900;
  30. line-height: 1.5;
  31. margin: 0;
  32. -webkit-mask-image: -webkit-radial-gradient(#000, #fff);
  33. padding: 0;
  34. }
  35. .btn-82:disabled {
  36. cursor: default;
  37. }
  38. .btn-82:-moz-focusring {
  39. outline: auto;
  40. }
  41. .btn-82 svg {
  42. display: block;
  43. vertical-align: middle;
  44. }
  45. .btn-82 [hidden] {
  46. display: none;
  47. }
  48. .btn-82 {
  49. background: none;
  50. border-radius: 999px;
  51. box-sizing: border-box;
  52. display: block;
  53. overflow: hidden;
  54. padding: 1.2rem 3rem;
  55. position: relative;
  56. text-transform: uppercase;
  57. }
  58. .btn-82 span {
  59. font-weight: 900;
  60. mix-blend-mode: difference;
  61. transition: opacity 0.2s;
  62. }
  63. .btn-82:hover span {
  64. -webkit-animation: text-reset 0.2s 0.8s forwards;
  65. animation: text-reset 0.2s 0.8s forwards;
  66. opacity: 0;
  67. }
  68. .btn-82:after,
  69. .btn-82:before {
  70. border: 4px solid #fff;
  71. border-radius: 999px;
  72. content: "";
  73. height: 100%;
  74. left: 0;
  75. position: absolute;
  76. top: 50%;
  77. transform: translateY(-50%);
  78. transition: height 0.2s;
  79. width: 100%;
  80. }
  81. .btn-82:after {
  82. background: darkgreen;
  83. border: none;
  84. height: 2rem;
  85. width: 0;
  86. z-index: -1;
  87. }
  88. .btn-82:hover:before {
  89. -webkit-animation: border-reset 0.2s linear 0.78s forwards;
  90. animation: border-reset 0.2s linear 0.78s forwards;
  91. height: 2rem;
  92. }
  93. .btn-82:hover:after {
  94. -webkit-animation: progress-bar 1s;
  95. animation: progress-bar 1s;
  96. }
  97. @-webkit-keyframes progress-bar {
  98. 0% {
  99. opacity: 1;
  100. width: 0;
  101. }
  102. 10% {
  103. opacity: 1;
  104. width: 15%;
  105. }
  106. 25% {
  107. opacity: 1;
  108. width: 25%;
  109. }
  110. 40% {
  111. opacity: 1;
  112. width: 35%;
  113. }
  114. 55% {
  115. opacity: 1;
  116. width: 75%;
  117. }
  118. 60% {
  119. opacity: 1;
  120. width: 100%;
  121. }
  122. to {
  123. opacity: 0;
  124. width: 100%;
  125. }
  126. }
  127. @keyframes progress-bar {
  128. 0% {
  129. opacity: 1;
  130. width: 0;
  131. }
  132. 10% {
  133. opacity: 1;
  134. width: 15%;
  135. }
  136. 25% {
  137. opacity: 1;
  138. width: 25%;
  139. }
  140. 40% {
  141. opacity: 1;
  142. width: 35%;
  143. }
  144. 55% {
  145. opacity: 1;
  146. width: 75%;
  147. }
  148. 60% {
  149. opacity: 1;
  150. width: 100%;
  151. }
  152. to {
  153. opacity: 0;
  154. width: 100%;
  155. }
  156. }
  157. @-webkit-keyframes border-reset {
  158. 0% {
  159. height: 2rem !important;
  160. }
  161. to {
  162. height: 100% !important;
  163. }
  164. }
  165. @keyframes border-reset {
  166. 0% {
  167. height: 2rem !important;
  168. }
  169. to {
  170. height: 100% !important;
  171. }
  172. }
  173. @-webkit-keyframes text-reset {
  174. 0% {
  175. opacity: 0;
  176. }
  177. to {
  178. opacity: 1;
  179. }
  180. }
  181. @keyframes text-reset {
  182. 0% {
  183. opacity: 0;
  184. }
  185. to {
  186. opacity: 1;
  187. }
  188. }