index.wxss 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. .wux-refresher {
  2. position: absolute;
  3. top: -120rpx;
  4. right: 0;
  5. left: 0;
  6. overflow: hidden;
  7. margin: auto;
  8. height: 100rpx
  9. }
  10. .wux-refresher--hidden {
  11. visibility: hidden
  12. }
  13. .wux-refresher--visible {
  14. visibility: visible
  15. }
  16. .wux-refresher__content {
  17. position: absolute;
  18. bottom: 10rpx;
  19. left: 0;
  20. width: 100%;
  21. color: rgba(0,0,0,.65);
  22. text-align: center;
  23. font-size: 60rpx
  24. }
  25. .wux-refresher__content--text {
  26. bottom: 0
  27. }
  28. .wux-refresher__text-pulling {
  29. font-size: 32rpx;
  30. line-height: 32rpx
  31. }
  32. .wux-refresher__text-refreshing {
  33. font-size: 32rpx;
  34. line-height: 32rpx;
  35. display: none
  36. }
  37. .wux-refresher__icon-pulling {
  38. width: 100%;
  39. backface-visibility: hidden;
  40. transform-style: preserve-3d;
  41. padding: 14rpx 0;
  42. animation-name: refresh-spin-back;
  43. animation-duration: .2s;
  44. animation-timing-function: linear;
  45. animation-fill-mode: none;
  46. transform: translateZ(0) rotate(0)
  47. }
  48. .wux-refresher__icon-refreshing {
  49. width: 100%;
  50. backface-visibility: hidden;
  51. transform-style: preserve-3d;
  52. padding: 14rpx 0;
  53. display: none;
  54. animation-duration: 1.5s
  55. }
  56. .wux-refresher__icon--arrow-down {
  57. display: block;
  58. margin: 0 auto;
  59. width: 40rpx;
  60. height: 40rpx;
  61. background-repeat: no-repeat;
  62. background-position: center center;
  63. background-size: 40rpx 40rpx;
  64. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAHdElNRQfhAhQABBG6qxTZAAABVklEQVRo3u3YvUoDQRiF4ePPTZgbEGsh23sBgqWCKQe8AVvB0tJySgPah9T2CaSxkNhY6i3YaRN1J7uz+31nAmnOVJNkM++zCcyyC2hobHnslHw5HOIZA3zgJL6xa+wX8ZcAgAGW/InsFgE2MAQQQAABBBBAAAEEEEAAAQQQYOuAjtvzcIprfOImvpYEwhFucYC7OGn/PHtfH87xuJpWcZ455vt3FjPrhCFmq+lFfGo7Iv8X3P/NZmFInv1/vr6eEfBVm1OEJJ+uZwJcJa/chLX8+nr9gDjFiCc08qM49f4CiGOW0JIf547t3Ac4giffuxH5Cb68YSf0Ebx501ZsJ/jzxmuBjcDkzRejfgKXdz2sDpd4SN6oasmKyzufljcIuWHOA3sewOLl+B1nm8w7ASaCK+8G9BKceQLQSXDnKUCWQORJQCuBytOABoHMFwASAp3X0AB+AFVjfoii8X5lAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTAyLTIwVDAwOjA0OjE3KzA4OjAwenpBPAAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wMi0yMFQwMDowNDoxNyswODowMAsn+YAAAAAASUVORK5CYII=)
  65. }
  66. .wux-refresher__icon--refresher {
  67. display: block;
  68. margin: 0 auto;
  69. width: 40rpx;
  70. height: 40rpx;
  71. background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  72. background-repeat: no-repeat;
  73. background-position: 50%;
  74. background-size: 100%;
  75. transform-origin: 50%;
  76. animation: refresh-spin-rotate 1s steps(12,end) infinite
  77. }
  78. .wux-refresher--active.wux-refresher--refreshing {
  79. transition: transform .2s;
  80. transform: scale(1)
  81. }
  82. .wux-refresher--active.wux-refresher--refreshing .wux-refresher__icon-pulling,
  83. .wux-refresher--active.wux-refresher--refreshing .wux-refresher__text-pulling {
  84. display: none
  85. }
  86. .wux-refresher--active.wux-refresher--refreshing .wux-refresher__icon-refreshing,
  87. .wux-refresher--active.wux-refresher--refreshing .wux-refresher__text-refreshing {
  88. display: block
  89. }
  90. .wux-refresher--active.wux-refresher--refreshing .wux-refresher--refreshing-tail {
  91. transform: scale(0)
  92. }
  93. .wux-refresher--active .wux-refresher__icon-pulling:not(.wux-refresher__icon-pulling--disabled) {
  94. animation-name: refresh-spin;
  95. transform: translateZ(0) rotate(-180deg)
  96. }
  97. .wux-loader {
  98. overflow: hidden;
  99. margin: auto;
  100. height: 100rpx;
  101. font-size: 30rpx;
  102. position: relative;
  103. text-align: center;
  104. display: none
  105. }
  106. .wux-loader .wux-refresher__icon--refresher {
  107. display: inline-block;
  108. margin: 0
  109. }
  110. .wux-loader__text-loading {
  111. margin-left: 10rpx
  112. }
  113. .wux-loader--hidden {
  114. visibility: hidden;
  115. display: none
  116. }
  117. .wux-loader--visible {
  118. visibility: visible;
  119. display: block
  120. }
  121. .wux-loader--end {
  122. visibility: visible;
  123. display: block
  124. }
  125. .wux-loader__content {
  126. position: absolute;
  127. width: 100%;
  128. top: 50%;
  129. transform: translateY(-50%);
  130. color: rgba(0,0,0,.65);
  131. display: flex;
  132. align-items: center;
  133. justify-content: center
  134. }
  135. @keyframes refresh-spin {
  136. 0% {
  137. transform: translateZ(0) rotate(0)
  138. }
  139. to {
  140. transform: translateZ(0) rotate(180deg)
  141. }
  142. }
  143. @keyframes refresh-spin-back {
  144. 0% {
  145. transform: translateZ(0) rotate(180deg)
  146. }
  147. to {
  148. transform: translateZ(0) rotate(0)
  149. }
  150. }
  151. @keyframes refresh-spin-rotate {
  152. 100% {
  153. transform: rotate(360deg)
  154. }
  155. }