speechRecognition.wxss 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. /* components/speechRecognition/speechRecognition.wxss */
  2. .voicePop {
  3. position: fixed;
  4. top: 0;
  5. left: 0;
  6. z-index: 999;
  7. width: 100%;
  8. height: 100%;
  9. }
  10. .voice-container {
  11. padding: 30rpx;
  12. position: fixed;
  13. top: 180rpx;
  14. left: 10rpx;
  15. width: calc(100% - 20rpx);
  16. height: calc(100vh - 200rpx);
  17. border-radius: 30rpx;
  18. background: rgba(240, 248, 255, 0.97);
  19. box-sizing: border-box;
  20. }
  21. .title {
  22. padding-top: 100rpx;
  23. width: 100%;
  24. height: 100rpx;
  25. font-size: 40rpx;
  26. color: #000000;
  27. font-family: "苹方M";
  28. }
  29. .title1 {
  30. padding-top: 20rpx;
  31. width: 100%;
  32. height: 100rpx;
  33. font-size: 34rpx;
  34. color: #000000;
  35. font-family: "苹方M";
  36. }
  37. .exp {
  38. padding-top: 30rpx;
  39. width: 100%;
  40. height: 140rpx;
  41. display: flex;
  42. flex-wrap: wrap;
  43. align-items: flex-start;
  44. justify-content: flex-start;
  45. }
  46. .exp-name {
  47. padding: 0 20rpx;
  48. margin: 20rpx 0 0 20rpx;
  49. height: 50rpx;
  50. line-height: 50rpx;
  51. font-size: 26rpx;
  52. color: #313131;
  53. font-family: "苹方R";
  54. background: #ffffff;
  55. border-radius: 25rpx;
  56. box-sizing: border-box;
  57. }
  58. .result {
  59. position: relative;
  60. margin-top: 50rpx;
  61. width: 100%;
  62. height: calc(100% - 800rpx);
  63. }
  64. .voicing-box {
  65. position: absolute;
  66. bottom: 0;
  67. left: calc(50% - 100rpx);
  68. height: 100rpx;
  69. width: 200rpx;
  70. display: flex;
  71. align-items: center;
  72. justify-content: space-evenly;
  73. }
  74. .voiceing {
  75. width: 12rpx;
  76. height: 100rpx;
  77. border-radius: 6rpx;
  78. animation: voiceing 1s var(--time) infinite;
  79. }
  80. .voiceing:nth-child(1) {
  81. --time: -0.1s;
  82. background-image: linear-gradient(45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%);
  83. }
  84. .voiceing:nth-child(2) {
  85. --time: -0.2s;
  86. background-image: linear-gradient(45deg, #ff9a9e 0%, #fad0c4 99%, #fad0c4 100%);
  87. }
  88. .voiceing:nth-child(3) {
  89. --time: -0.3s;
  90. background-image: linear-gradient(to top, #fad0c4 0%, #ffd1ff 100%);
  91. }
  92. .voiceing:nth-child(4) {
  93. --time: -0.4s;
  94. background-image: linear-gradient(to top, #fdcbf1 0%, #fdcbf1 1%, #e6dee9 100%);
  95. }
  96. .voiceing:nth-child(5) {
  97. --time: -0.5s;
  98. background-image: linear-gradient(to top, #fbc2eb 0%, #a6c1ee 100%);
  99. }
  100. .voiceing:nth-child(6) {
  101. --time: -0.4s;
  102. background-image: linear-gradient(120deg, #a1c4fd 0%, #c2e9fb 100%);
  103. }
  104. .voiceing:nth-child(7) {
  105. --time: -0.3s;
  106. background-image: linear-gradient(120deg, #fccb90 0%, #d57eeb 100%);
  107. }
  108. .voiceing:nth-child(8) {
  109. --time: -0.2s;
  110. background-image: linear-gradient(120deg, #e0c3fc 0%, #8ec5fc 100%);
  111. }
  112. .voiceing:nth-child(9) {
  113. --time: -0.1s;
  114. background-image: linear-gradient(120deg, #f093fb 0%, #f5576c 100%);
  115. }
  116. .voiceing:nth-child(10) {
  117. --time: 0s;
  118. background-image: linear-gradient(to top, #9890e3 0%, #b1f4cf 100%);
  119. }
  120. @keyframes voiceing {
  121. 0% {
  122. height: 100rpx;
  123. }
  124. 50% {
  125. height: 50rpx;
  126. }
  127. 100% {
  128. height: 100rpx;
  129. }
  130. }
  131. .tip {
  132. width: 100%;
  133. height: 80rpx;
  134. line-height: 80rpx;
  135. text-align: center;
  136. font-size: 26rpx;
  137. color: #707070;
  138. font-family: "苹方R";
  139. }
  140. .voice {
  141. width: 100%;
  142. height: 120rpx;
  143. display: flex;
  144. align-items: center;
  145. justify-content: center;
  146. }
  147. .voice-button {
  148. position: relative;
  149. width: 120rpx;
  150. height: 120rpx;
  151. border-radius: 50%;
  152. background: #4686f6;
  153. box-shadow: 0 0 20rpx rgba(70, 134, 246, 0.5);
  154. display: flex;
  155. align-items: center;
  156. justify-content: center;
  157. }
  158. .voice-hover {
  159. background: #3666b9;
  160. }
  161. .voice-button-icon {
  162. width: 60rpx;
  163. height: auto;
  164. }
  165. .close {
  166. width: 100%;
  167. height: 60rpx;
  168. }
  169. .close-button {
  170. position: relative;
  171. width: 60rpx;
  172. height: 60rpx;
  173. border-radius: 50%;
  174. background: rgba(255, 255, 255, 0.95);
  175. display: flex;
  176. align-items: center;
  177. justify-content: center;
  178. }
  179. .close-button::before,
  180. .close-button::after {
  181. position: absolute;
  182. content: "";
  183. width: 40rpx;
  184. height: 4rpx;
  185. border-radius: 2rpx;
  186. background: #999999;
  187. rotate: -45deg;
  188. }
  189. .close-button::after {
  190. rotate: 45deg;
  191. }