index.module.less 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465
  1. .back {
  2. position: fixed;
  3. left: 15px;
  4. top: 17px;
  5. width: 31px;
  6. height: 31px;
  7. &>img {
  8. width: 100%;
  9. height: 100%;
  10. object-fit: cover;
  11. }
  12. &:active {
  13. opacity: 0.8;
  14. }
  15. }
  16. .musicCFixed {
  17. position: fixed;
  18. top: 17px;
  19. left: 55px;
  20. .musicName {
  21. font-size: 15px;
  22. font-weight: 600;
  23. color: #FFFFFF;
  24. line-height: 33px;
  25. }
  26. }
  27. .popoverMusic {
  28. width: 160px;
  29. // border: none;
  30. --van-popover-action-width: 100%;
  31. :global {
  32. .van-popover__action {
  33. // display: flex;
  34. // justify-content: center;
  35. // align-items: center;
  36. // padding: 0;
  37. // width: 100%;
  38. // height: 36px;
  39. // color: #999;
  40. // font-size: 13px;
  41. }
  42. .van-popover__content {
  43. max-height: 70vh;
  44. overflow-x: hidden;
  45. overflow-y: auto;
  46. }
  47. }
  48. }
  49. .container {
  50. background: url('../../common/images/icon_bg.png') no-repeat center center / cover;
  51. padding: 63px 18px 18px 37px;
  52. height: 100vh;
  53. overflow: hidden;
  54. }
  55. .content {
  56. display: flex;
  57. height: calc(100vh - 81px);
  58. overflow: hidden;
  59. }
  60. .opacityBg {
  61. background: linear-gradient(134deg,
  62. rgba(255, 255, 255, 0.75) 0%,
  63. rgba(255, 255, 255, 0.34) 100%);
  64. border-radius: 18px;
  65. border: 2px solid #fff;
  66. }
  67. .leftContent {
  68. position: relative;
  69. display: flex;
  70. width: 37%;
  71. }
  72. .leftBg {
  73. position: absolute;
  74. left: 0;
  75. top: 0;
  76. width: 95px;
  77. height: 100%;
  78. background: linear-gradient(48deg, #43b2ff 0%, #159af7 100%);
  79. border: 2px solid #fff;
  80. border-radius: 18px 9px 0 18px;
  81. z-index: 1;
  82. }
  83. .leftBg2 {
  84. position: absolute;
  85. left: 0;
  86. top: 0;
  87. width: calc(100% - 12px);
  88. height: 100%;
  89. background: linear-gradient(134deg,
  90. rgba(255, 255, 255, 0.75) 0%,
  91. rgba(255, 255, 255, 0.34) 100%);
  92. border-radius: 18px;
  93. border: 2px solid #fff;
  94. }
  95. .types {
  96. position: relative;
  97. top: 2px;
  98. width: 95px;
  99. height: calc(100% - 4px);
  100. padding: 4px 0;
  101. overflow-x: hidden;
  102. overflow-y: auto;
  103. border-radius: 18px;
  104. z-index: 1;
  105. flex-shrink: 0;
  106. &::-webkit-scrollbar {
  107. width: 0;
  108. display: none;
  109. }
  110. .type {
  111. position: relative;
  112. padding: 4px 12px;
  113. &.typeActive {
  114. .typeImg {
  115. padding: 6px;
  116. border-color: #99ffd0;
  117. animation: scaleBtn 1s ease-in-out;
  118. }
  119. }
  120. }
  121. .typeImg {
  122. border: 2px solid transparent;
  123. border-radius: 6px;
  124. height: 95px;
  125. transition: 0.3s;
  126. &:active {
  127. transform: scale(0.8);
  128. }
  129. }
  130. .typeIcon {
  131. display: block;
  132. width: 100%;
  133. height: 100%;
  134. object-fit: cover;
  135. opacity: 0;
  136. transition: opacity 0.3s;
  137. }
  138. .typeIcon[loaded='true'] {
  139. opacity: 1;
  140. }
  141. }
  142. .center {
  143. flex: 1;
  144. position: relative;
  145. padding-right: 12px;
  146. height: 100%;
  147. overflow: hidden;
  148. .centerSearch {
  149. padding: 6px 9px;
  150. }
  151. :global {
  152. #coai-0 {
  153. .van-search {
  154. width: 100%;
  155. z-index: 1;
  156. padding: 0px 0px;
  157. }
  158. .van-field__control::-webkit-input-placeholder {
  159. font-size: 12px;
  160. }
  161. }
  162. }
  163. }
  164. .musicContent {
  165. width: 100%;
  166. height: calc(100% - var(--van-search-input-height) - 12px - 2px);
  167. padding: 6px 12px 12px 12px;
  168. overflow-x: hidden;
  169. overflow-y: auto;
  170. &::-webkit-scrollbar {
  171. width: 0;
  172. display: none;
  173. }
  174. }
  175. .searchNotice {
  176. position: fixed;
  177. padding: 0;
  178. pointer-events: none;
  179. :global {
  180. .van-notice-bar {
  181. padding: 0;
  182. height: 100%;
  183. }
  184. }
  185. }
  186. .searchNoticeShow {
  187. :global {
  188. .van-field__control {
  189. opacity: 0;
  190. }
  191. }
  192. }
  193. .musicItem {
  194. position: relative;
  195. display: flex;
  196. align-items: center;
  197. border: 3px solid #fff;
  198. border-radius: 9px;
  199. margin-bottom: 6px;
  200. background-color: #fff;
  201. padding: 4px;
  202. transition: all 0.3s;
  203. overflow: hidden;
  204. --van-notice-bar-text-color: #333;
  205. &.disableNotic {
  206. :global {
  207. .van-notice-bar__content {
  208. transition-duration: 0s !important;
  209. transform: none !important;
  210. }
  211. }
  212. }
  213. &.musicActive {
  214. border-width: 3px;
  215. background: linear-gradient(180deg, #ffffff 0%, #bfe1ff 100%);
  216. transform: scale(1.05);
  217. box-shadow: 0px 2px 4px 0px rgba(73, 159, 228, 1);
  218. --van-notice-bar-text-color: rgba(73, 159, 228, 1);
  219. :global {
  220. .van-notice-bar__content {
  221. transition-property: transform;
  222. }
  223. }
  224. }
  225. .musicAvtor {
  226. display: block;
  227. width: 7.2vw;
  228. height: 7.2vw;
  229. border-radius: 10px;
  230. object-fit: cover;
  231. flex-shrink: 0;
  232. margin-right: 1vw;
  233. opacity: 0;
  234. transition: opacity 0.3s;
  235. }
  236. .musicAvtor[loaded='true'] {
  237. opacity: 1;
  238. }
  239. .musicInfo {
  240. flex: 1;
  241. .musicName {
  242. font-weight: 600;
  243. color: #333;
  244. margin-bottom: 3px;
  245. }
  246. .noticeBar {
  247. padding: 0;
  248. height: 28px;
  249. }
  250. .musicDes {
  251. width: 100%;
  252. display: flex;
  253. align-items: center;
  254. }
  255. .musicFavitor {
  256. border: 1px solid #ffc5c5;
  257. color: #ff6a6a;
  258. padding: 1px 3px 1px 14px;
  259. border-radius: 4px;
  260. background-color: #fff8f7;
  261. background-image: url('./image/icon_hot.svg');
  262. background-repeat: no-repeat;
  263. background-size: auto 70%;
  264. background-position: 2px center;
  265. margin-right: 4px;
  266. }
  267. .musicAuthor {
  268. flex: 1;
  269. font-size: 12px;
  270. font-weight: 400;
  271. color: #777;
  272. line-height: 12px;
  273. max-width: 9vw;
  274. }
  275. }
  276. .musicIcon {
  277. flex-shrink: 0;
  278. margin-right: 4px;
  279. }
  280. }
  281. .right {
  282. position: relative;
  283. background: #fff;
  284. overflow: hidden;
  285. border: none;
  286. width: 63%;
  287. border-radius: 18px;
  288. }
  289. .right-musicName {
  290. font-size: 15px;
  291. font-weight: 500;
  292. color: #131415;
  293. line-height: 20px;
  294. text-align: center;
  295. padding: 12px 0;
  296. }
  297. .staff {
  298. width: 100%;
  299. }
  300. .rightBox {
  301. width: 100%;
  302. height: 100%;
  303. border-radius: 18px;
  304. overflow: hidden;
  305. position: relative;
  306. .iconTransfer {
  307. position: absolute;
  308. right: 0;
  309. top: 0;
  310. background: linear-gradient(90deg, #44C9FF 0%, #259CFE 100%);
  311. border-radius: 0px 0px 0px 16px;
  312. padding: 5px 8px 4px;
  313. font-size: 11px;
  314. font-weight: 500;
  315. color: #FFFFFF;
  316. line-height: 18px;
  317. display: flex;
  318. align-items: center;
  319. &::before {
  320. content: '';
  321. display: inline-block;
  322. width: 12px;
  323. height: 11px;
  324. background: url('./image/icon-transfer.png') no-repeat center;
  325. background-size: contain;
  326. margin-right: 5px;
  327. }
  328. }
  329. }
  330. .rightBtns {
  331. position: absolute;
  332. bottom: 0;
  333. left: 0;
  334. right: 0;
  335. padding: 0 18px 18px 18px;
  336. display: flex;
  337. align-items: flex-end;
  338. height: 78px;
  339. background: #fff;
  340. background-image: linear-gradient(180deg,
  341. rgba(255, 255, 255, 0) 0%,
  342. #c1eeff 100%);
  343. border-radius: 0 0 18px 18px;
  344. &>img {
  345. margin: 0 4px;
  346. height: 30px;
  347. transition: 0.3s;
  348. &:active {
  349. transform: scale(0.6);
  350. }
  351. }
  352. :global {
  353. .van-popover__wrapper {
  354. display: flex;
  355. align-items: center;
  356. margin-right: 12px;
  357. }
  358. }
  359. .rightBtnsRight {
  360. transition: 0.3s;
  361. margin: 0 4px;
  362. padding: 5px 10px 0;
  363. margin-left: auto;
  364. img {
  365. height: 30px;
  366. animation: scaleBtn 1s ease-in-out infinite;
  367. }
  368. }
  369. }
  370. @keyframes scaleBtn {
  371. 0% {
  372. transform: scale(1);
  373. }
  374. 50% {
  375. transform: scale(1.1);
  376. }
  377. 100% {
  378. transform: scale(1);
  379. }
  380. }
  381. @keyframes displayIcon {
  382. to {
  383. opacity: 1;
  384. }
  385. }
  386. .loadingWrap {
  387. display: flex;
  388. justify-content: center;
  389. min-height: 80px;
  390. }
  391. .empty {
  392. :global {
  393. .van-empty__image {
  394. width: 100%;
  395. height: initial;
  396. }
  397. .van-empty__description {
  398. color: #fff;
  399. padding: 0;
  400. }
  401. }
  402. }