index.module.less 37 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745
  1. @font-face {
  2. font-family: 'jianzhu';
  3. src: url('./lsy.ttf');
  4. font-weight: normal;
  5. font-size: normal;
  6. }
  7. .fingerBox {
  8. position: relative;
  9. display: flex;
  10. flex-direction: column;
  11. width: 100vw;
  12. height: 100vh;
  13. background: rgba(215, 205, 199, 1);
  14. user-select: none;
  15. .hiddens {
  16. display: none;
  17. }
  18. &.fingerRight {
  19. background: url('./image/icon_bg_t.png') no-repeat rgba(215, 205, 199, 1);
  20. background-size: cover;
  21. .fingerContent {
  22. flex-direction: row;
  23. }
  24. .backBtn {
  25. padding: 26px 5px 26px 18px;
  26. }
  27. .tips {
  28. width: 43%;
  29. border-radius: 18px 0px 0px 18px;
  30. padding: 8px;
  31. background-image: url('./image/icon_shuo_h.png');
  32. &::before {
  33. content: '';
  34. position: absolute;
  35. left: 8px;
  36. top: 8px;
  37. right: 8px;
  38. bottom: 8px;
  39. border-radius: 15px;
  40. border: 1px solid rgba(240, 234, 230, 1);
  41. pointer-events: none;
  42. }
  43. &.tipHidden {
  44. margin-right: -43%;
  45. }
  46. .tipContentbox {
  47. padding: 6px 8px 8px 8px;
  48. border-radius: 16px;
  49. }
  50. .tipContent {
  51. border-radius: 16px;
  52. padding: 14px 8px 4px 8px;
  53. }
  54. }
  55. }
  56. &.fingerBottom {
  57. background: url('./image/icon_bg_v.png') no-repeat;
  58. background-size: cover;
  59. .fingerContent {
  60. flex-direction: column;
  61. }
  62. .tips {
  63. height: 280px;
  64. border-radius: 18px 18px 0 0;
  65. padding: 8px 8px 0 8px;
  66. background-image: url('./image/icon_shuo_v.png');
  67. &::before {
  68. content: '';
  69. position: absolute;
  70. left: 8px;
  71. top: 8px;
  72. right: 8px;
  73. bottom: 0;
  74. border-radius: 15px;
  75. border: 1px solid rgba(240, 234, 230, 1);
  76. pointer-events: none;
  77. }
  78. &.tipHidden {
  79. margin-bottom: -280px;
  80. }
  81. .tipContentbox {
  82. padding: 6px 8px 0 8px;
  83. border-radius: 16px 16px 0 0;
  84. }
  85. .tipContent {
  86. border-radius: 16px 16px 0 0;
  87. border-bottom: transparent;
  88. padding: 14px 4px 4px 4px;
  89. }
  90. }
  91. }
  92. .tipsOverlay {
  93. width: 57%;
  94. height: 100%;
  95. position: fixed;
  96. top: 0;
  97. left: 0;
  98. z-index: 2009;
  99. animation: bgIn 0.2s 0.2s forwards;
  100. }
  101. &.fingerRight .tipsPcBg.tips {
  102. animation: bgIn 0.15s 0.25s forwards;
  103. border-radius: 0;
  104. background-image: url('./image/icon_shuo_v.png') !important;
  105. }
  106. @keyframes bgIn {
  107. 0% {
  108. background-color: initial;
  109. }
  110. 100% {
  111. background-color: rgba(0, 0, 0, 0.5);
  112. }
  113. }
  114. }
  115. .popoverContainer {
  116. --van-popover-action-height: 32px;
  117. --van-popover-action-font-size: 14px;
  118. --van-popover-radius: 12px;
  119. --van-popover-action-width: 85px;
  120. z-index: 9999 !important;
  121. padding: 6Px 0;
  122. background-color: #fff;
  123. box-shadow: 0 0.05333rem 0.32rem rgba(50, 50, 51, .12);
  124. margin-top: 9px !important;
  125. border-radius: 8px;
  126. color: #999;
  127. :global {
  128. .van-popover__content {
  129. max-height: 200px;
  130. box-shadow: none;
  131. overflow-y: auto;
  132. overflow-x: hidden;
  133. &::-webkit-scrollbar {
  134. width: 4px;
  135. }
  136. &::-webkit-scrollbar-thumb {
  137. border-radius: 12px;
  138. background: rgba(0, 0, 0, 0.2);
  139. visibility: hidden;
  140. }
  141. &::-webkit-scrollbar-track {
  142. border-radius: 0;
  143. background: rgba(0, 0, 0, 0.1);
  144. visibility: hidden;
  145. }
  146. }
  147. .van-popover__action {
  148. padding: 0 9px;
  149. }
  150. }
  151. .selected {
  152. color: #1CACF1;
  153. font-weight: 600;
  154. }
  155. }
  156. .head {
  157. position: absolute;
  158. left: 0;
  159. top: 0;
  160. right: 0;
  161. display: flex;
  162. justify-content: space-between;
  163. align-items: center;
  164. pointer-events: none;
  165. padding-right: 18px;
  166. padding-top: env(safe-area-inset-top);
  167. z-index: 11;
  168. .backBtn {
  169. margin-right: 14px;
  170. position: relative;
  171. padding: 12px 12px 12px 18px;
  172. display: flex;
  173. align-items: center;
  174. justify-content: center;
  175. border: none;
  176. background: none;
  177. cursor: pointer;
  178. pointer-events: auto;
  179. img {
  180. height: 34px;
  181. }
  182. }
  183. .left {
  184. display: flex;
  185. align-items: center;
  186. .baseBtn {
  187. margin: 0 6px;
  188. background: linear-gradient(180deg, #F4EFED 0%, #E5DCD7 100%) !important;
  189. box-shadow: 0px 1px 2px 0px #9F9690, inset 0px -2px 0px 0px rgba(205, 192, 181, 0.47), inset 0px 2px 1px 0px #FFFFFF;
  190. border-radius: 5px !important;
  191. width: 98px;
  192. height: 34px;
  193. background: rgba(255, 255, 255, .48);
  194. border-radius: 10px;
  195. font-size: 12px;
  196. font-weight: 600;
  197. color: #616161;
  198. line-height: 17px;
  199. text-align: center;
  200. cursor: pointer;
  201. display: flex;
  202. justify-content: center;
  203. align-items: center;
  204. pointer-events: auto;
  205. img {
  206. width: 18px;
  207. height: 18px;
  208. margin-right: 4px;
  209. }
  210. &:active {
  211. opacity: .8;
  212. }
  213. }
  214. }
  215. }
  216. .fingerContent {
  217. flex: 1;
  218. overflow: hidden;
  219. display: flex;
  220. .wrapFinger {
  221. flex: 1;
  222. overflow: hidden;
  223. display: flex;
  224. flex-direction: column;
  225. }
  226. .userTab {
  227. display: flex;
  228. justify-content: center;
  229. width: 100%;
  230. position: relative;
  231. .userTabBox {
  232. width: 100%;
  233. .notes {
  234. padding-bottom: 10px;
  235. height: initial;
  236. .lastNoteContent {
  237. border-radius: 0 !important;
  238. .noteBox {
  239. border-radius: 0 !important;
  240. }
  241. }
  242. .noteContent {
  243. padding: 0 10px;
  244. }
  245. .changeMusBtn {
  246. margin-right: 8px;
  247. text-align: center;
  248. width: 42px;
  249. background: linear-gradient(180deg, #F4EFED 0%, #D9CEC7 100%);
  250. box-shadow: 0px 1px 2px 0px #9F9690, inset 0px -2px 0px 0px #CDC0B5, inset 0px 2px 1px 0px #FFFFFF;
  251. border-radius: 21px;
  252. font-weight: 600;
  253. font-size: 12px;
  254. color: #616161;
  255. line-height: 16px;
  256. padding: 7px 6px;
  257. height: 46px;
  258. }
  259. .backBtn {
  260. line-height: 32px;
  261. }
  262. }
  263. .optionBtns {
  264. padding-bottom: 0;
  265. }
  266. :global {
  267. .van-tabs__wrap {
  268. width: 100%;
  269. display: flex;
  270. justify-content: center;
  271. height: 30px;
  272. .van-tabs__nav {
  273. width: 120px;
  274. background-color: initial;
  275. border-bottom: 2px solid rgba(82, 138, 214, 0.15);
  276. height: initial;
  277. padding-bottom: initial;
  278. .van-tab {
  279. font-weight: 400;
  280. font-size: 15px;
  281. color: #616161;
  282. &.van-tab--active {
  283. font-weight: 600;
  284. color: #616161;
  285. }
  286. }
  287. .van-tabs__line {
  288. width: 32px;
  289. bottom: -2px;
  290. height: 2px;
  291. background: #528AD6;
  292. border-radius: 3px;
  293. }
  294. }
  295. }
  296. .van-tabs__content {
  297. padding-top: 16px;
  298. height: 130px;
  299. .van-tab__panel {
  300. height: 100%;
  301. }
  302. }
  303. }
  304. .btnBox {
  305. height: 100%;
  306. display: flex;
  307. justify-content: center;
  308. align-items: center;
  309. margin-top: -16px;
  310. .btnCon {
  311. border-radius: 17px;
  312. display: flex;
  313. background: rgba(255, 255, 255, 0.5);
  314. padding: 6px 5px 3px 6px;
  315. .btnGr {
  316. background: url("./image/btnBg.png") no-repeat;
  317. background-size: 100% 100%;
  318. width: 93px;
  319. height: 56px;
  320. display: flex;
  321. flex-direction: column;
  322. align-items: center;
  323. justify-content: center;
  324. cursor: pointer;
  325. margin-left: 5px;
  326. &:first-child {
  327. margin-left: 0;
  328. }
  329. >img {
  330. width: 19px;
  331. height: 19px;
  332. }
  333. >span {
  334. font-weight: 500;
  335. font-size: 14px;
  336. color: #616161;
  337. line-height: 20px;
  338. }
  339. }
  340. }
  341. }
  342. }
  343. &.usrTabOverlaping {
  344. visibility: hidden;
  345. opacity: 0;
  346. // &::after {
  347. // position: absolute;
  348. // content: '';
  349. // left: 0;
  350. // top: 0;
  351. // width: 100%;
  352. // height: 100%;
  353. // background: linear-gradient(180deg, rgba(222, 213, 208, 0) 0%, rgba(210, 199, 194, 0.93) 27%, #C5B8B3 100%);
  354. // z-index: 9;
  355. // }
  356. }
  357. }
  358. .boxFinger {
  359. flex: 1;
  360. padding-top: 50px;
  361. overflow: hidden;
  362. &.pcBoxFinger {
  363. padding-top: 10px !important;
  364. }
  365. &.boxFingerOverlapping {
  366. overflow: visible;
  367. z-index: 10;
  368. }
  369. }
  370. }
  371. .tips {
  372. display: flex;
  373. flex-direction: column;
  374. height: 100%;
  375. position: relative;
  376. z-index: 11;
  377. flex-shrink: 0;
  378. transition: all .2s;
  379. // background-color: rgba(190, 166, 140, 1);
  380. background-size: 100% 100%;
  381. background-repeat: no-repeat;
  382. overflow: hidden;
  383. .tipTitle {
  384. position: relative;
  385. height: 48px;
  386. display: flex;
  387. justify-content: center;
  388. align-items: center;
  389. flex-shrink: 0;
  390. padding-bottom: 8px;
  391. :global {
  392. .van-button:active:before {
  393. opacity: 0 !important;
  394. }
  395. }
  396. }
  397. .tipTitleName {
  398. position: relative;
  399. font-weight: 600;
  400. z-index: 1;
  401. color: #fff;
  402. font-size: 16px;
  403. text-shadow: 0px 1px 2px #6D4825;
  404. &::before {
  405. content: '';
  406. position: absolute;
  407. left: -40px;
  408. top: 50%;
  409. transform: translateY(-50%);
  410. width: 25px;
  411. height: 1px;
  412. background: #fff;
  413. z-index: -1;
  414. }
  415. &::after {
  416. content: '';
  417. position: absolute;
  418. right: -40px;
  419. top: 50%;
  420. transform: translateY(-50%);
  421. width: 25px;
  422. height: 1px;
  423. background: #fff;
  424. z-index: -1;
  425. }
  426. }
  427. .tipImg {
  428. position: absolute;
  429. top: 53px;
  430. left: 8px;
  431. right: 8px;
  432. img {
  433. position: absolute;
  434. width: 100%;
  435. height: 30px;
  436. display: block;
  437. }
  438. }
  439. .tipClose {
  440. position: absolute;
  441. right: 0;
  442. top: 0;
  443. height: 100%;
  444. border: none;
  445. background: transparent;
  446. border-radius: 0;
  447. }
  448. .iconBook {
  449. position: absolute;
  450. top: 48px;
  451. left: 37px;
  452. right: 37px;
  453. height: 26px;
  454. pointer-events: none;
  455. background: url('./image/icon_popup_book.png');
  456. background-size: contain;
  457. z-index: 1;
  458. }
  459. .tipContentbox {
  460. position: relative;
  461. flex: 1;
  462. background: #FFFFFF;
  463. display: flex;
  464. overflow: hidden;
  465. &::before {
  466. content: '';
  467. position: absolute;
  468. top: 0;
  469. left: 0;
  470. right: 0;
  471. padding-bottom: 45%;
  472. background: url('./image/icon_popup_top.png') no-repeat;
  473. background-size: 100%;
  474. opacity: .4;
  475. pointer-events: none;
  476. z-index: 1;
  477. }
  478. &::after {
  479. content: '';
  480. position: absolute;
  481. top: 6.5px;
  482. left: 16px;
  483. right: 16px;
  484. height: 10px;
  485. background: #fff;
  486. border-radius: 5px;
  487. pointer-events: none;
  488. border-top: 1.5px solid rgba(180, 165, 154, 1);
  489. }
  490. }
  491. .tipContent {
  492. flex: 1;
  493. border: 1.5px solid rgba(180, 165, 154, 1);
  494. color: rgba(68, 59, 59, 1);
  495. font-size: 12px;
  496. overflow: hidden;
  497. overflow-y: auto;
  498. }
  499. }
  500. .tipItem {
  501. display: flex;
  502. line-height: 18px;
  503. margin-bottom: 8px;
  504. background: linear-gradient(180deg, #FFFFFF 0%, #F3F4F7 100%);
  505. border-radius: 5px;
  506. padding: 10px;
  507. .iconWrap {
  508. display: flex;
  509. align-items: center;
  510. height: 18px;
  511. margin-right: 6px;
  512. }
  513. .tipItemIcon {
  514. width: 16px;
  515. height: 16px;
  516. background: linear-gradient(180deg, rgba(224, 180, 135, 1) 0%, rgba(195, 164, 134, 1) 100%);
  517. font-weight: 600;
  518. line-height: 16px;
  519. color: #FFFFFF;
  520. text-shadow: 0px 1px 1px #C8946D;
  521. border-radius: 50%;
  522. text-align: center;
  523. }
  524. }
  525. .btnGrToggleBtn {
  526. font-weight: 600;
  527. font-size: 12px;
  528. color: #fff;
  529. >div {
  530. display: flex;
  531. flex-direction: column;
  532. align-items: center;
  533. z-index: 10;
  534. &.nameBox {
  535. padding-top: 2px;
  536. .name {
  537. font-size: 10px;
  538. }
  539. .noteKey {
  540. font-size: 12px;
  541. position: relative;
  542. color: #ffffff;
  543. }
  544. .dot {
  545. display: inline-block;
  546. position: absolute;
  547. top: 0px;
  548. &.botDot {
  549. top: initial;
  550. bottom: -2px;
  551. }
  552. }
  553. }
  554. }
  555. .name {
  556. display: flex;
  557. }
  558. .arrowImg {
  559. margin-top: 2px;
  560. width: 9px;
  561. height: 5px;
  562. }
  563. }
  564. .usrTabOverlapingNotes {
  565. position: relative;
  566. visibility: hidden;
  567. opacity: 0;
  568. // &::after {
  569. // position: absolute;
  570. // content: '';
  571. // left: 0;
  572. // top: 0;
  573. // width: 100%;
  574. // height: 100%;
  575. // background: linear-gradient(180deg, rgba(222, 213, 208, 0) 0%, rgba(210, 199, 194, 0.93) 17%, #C5B8B3 100%);
  576. // z-index: 9;
  577. // }
  578. }
  579. .notes {
  580. position: relative;
  581. display: flex;
  582. justify-content: center;
  583. align-items: flex-start;
  584. height: 65px;
  585. flex-shrink: 0;
  586. cursor: pointer;
  587. &.paddingLeft {
  588. padding-left: 20Px;
  589. }
  590. .noteContent {
  591. display: flex;
  592. position: relative;
  593. // max-width: calc(100% - 92px);
  594. max-width: 73%;
  595. border-radius: 25px;
  596. background: rgba(255, 255, 255, 0.5);
  597. border: 1px solid rgba(255, 255, 255, 0.6);
  598. overflow: hidden;
  599. &.noteContentOther {
  600. // max-width: calc(100% - 92px - 52px - 5Px);
  601. }
  602. &.noteContentWrap {
  603. &::before {
  604. content: '';
  605. position: absolute;
  606. left: 0;
  607. top: 0;
  608. height: 100%;
  609. width: 23px;
  610. background: url('./image/icon_shadow_left.png') no-repeat;
  611. background-size: 100% 100%;
  612. z-index: 10;
  613. pointer-events: none;
  614. }
  615. &::after {
  616. content: '';
  617. position: absolute;
  618. right: 0;
  619. top: 0;
  620. height: 100%;
  621. width: 23px;
  622. background: url('./image/icon_shadow_r.png') no-repeat;
  623. background-size: 100% 100%;
  624. z-index: 10;
  625. pointer-events: none;
  626. }
  627. }
  628. }
  629. .lastNoteContent {
  630. display: flex;
  631. position: relative;
  632. max-width: calc(100%);
  633. border-radius: 0 25px 25px 0;
  634. // background: rgba(255, 255, 255, 0.5);
  635. // border: 1px solid rgba(255, 255, 255, 0.6);
  636. overflow: hidden;
  637. }
  638. .noteBox {
  639. display: flex;
  640. overflow-y: hidden;
  641. overflow-x: hidden;
  642. border-radius: 0 25px 25px 0;
  643. z-index: 9;
  644. &::-webkit-scrollbar {
  645. width: 0;
  646. display: none;
  647. }
  648. }
  649. .noteBtn {
  650. background: transparent;
  651. color: rgba(112, 99, 88, .41);
  652. border: 0;
  653. padding: 0;
  654. font-size: 22px;
  655. height: 46px;
  656. :global {
  657. .van-icon {
  658. font-weight: bold;
  659. }
  660. }
  661. &.disabled {
  662. color: rgba(69, 143, 177, .32);
  663. }
  664. &::before {
  665. opacity: 0 !important;
  666. }
  667. }
  668. .tipsT {
  669. position: absolute;
  670. z-index: 99;
  671. top: -40px;
  672. }
  673. .playTips {
  674. width: 107px;
  675. height: 28px;
  676. background: url('./image/tips1.png') no-repeat center center / contain;
  677. }
  678. .playTips2 {
  679. width: 147px;
  680. height: 28px;
  681. background: url('./image/tips4.png') no-repeat center center / contain;
  682. }
  683. .playTips5 {
  684. width: 147px;
  685. height: 28px;
  686. background: url('./image/tips5.png') no-repeat center center / contain;
  687. }
  688. .playError {
  689. width: 94px;
  690. height: 28px;
  691. background: url('./image/tips3.png') no-repeat center center / contain;
  692. }
  693. .playSuccess {
  694. width: 94px;
  695. height: 28px;
  696. background: url('./image/tips2.png') no-repeat center center / contain;
  697. }
  698. }
  699. .note {
  700. position: relative;
  701. margin: 0 2.5Px;
  702. width: 46px;
  703. height: 46px;
  704. display: flex;
  705. justify-content: center;
  706. align-items: center;
  707. flex-shrink: 0;
  708. padding: 6px;
  709. z-index: 2;
  710. img {
  711. position: absolute;
  712. left: 0;
  713. top: 0;
  714. width: 100%;
  715. height: 100%;
  716. }
  717. .showAnswer {
  718. width: 20px;
  719. height: 20px;
  720. background: url('./image/icon_btn_green_sub.png') no-repeat center / contain;
  721. position: absolute;
  722. top: 2px;
  723. left: -2px;
  724. z-index: 99;
  725. &.errorAnswer {
  726. background: url('./image/icon_btn_red_sub.png') no-repeat center / contain;
  727. }
  728. }
  729. }
  730. .noteKey {
  731. position: relative;
  732. display: flex;
  733. flex-direction: column;
  734. justify-content: center;
  735. align-items: center;
  736. z-index: 1;
  737. font-size: 16px;
  738. font-family: 'jianzhu';
  739. font-weight: normal;
  740. color: #616161;
  741. line-height: 1;
  742. height: 100%;
  743. &.keyActive {
  744. color: #FFF9EC;
  745. }
  746. .dot {
  747. width: 3px;
  748. height: 3px;
  749. border-radius: 50%;
  750. background-color: currentColor;
  751. }
  752. .dot+.dot {
  753. margin: 2px 0;
  754. }
  755. .noteName {
  756. position: relative;
  757. }
  758. // .noteFixed {
  759. // font-size: 12px;
  760. // color: #FFFFFF;
  761. // font-weight: 600;
  762. // padding-bottom: 5px;
  763. // transform: scale(0.8);
  764. // white-space: nowrap;
  765. // }
  766. .dotFixed {
  767. width: 5px;
  768. height: 5px;
  769. }
  770. .mark {
  771. position: absolute;
  772. left: -80%;
  773. font-size: 12px;
  774. }
  775. }
  776. .optionBtns {
  777. display: flex;
  778. align-items: center;
  779. justify-content: center;
  780. padding-bottom: 21px;
  781. .oBtn {
  782. width: 104px;
  783. height: 46px;
  784. border: none;
  785. font-weight: 600;
  786. font-size: 15px;
  787. color: #fff;
  788. cursor: pointer;
  789. margin: 0 3px;
  790. &.gamut {
  791. background: url('./image/icon_btn_3.png') no-repeat center / contain;
  792. }
  793. &.play {
  794. background: url('./image/icon_btn_2.png') no-repeat center / contain;
  795. }
  796. &.success {
  797. background: url('./image/icon_btn_4.png') no-repeat center / contain;
  798. }
  799. &.disabled {
  800. background: url('./image/icon_btn_1.png') no-repeat center / contain;
  801. color: #616161;
  802. cursor: not-allowed;
  803. }
  804. }
  805. }
  806. .fingeringContainer {
  807. position: relative;
  808. width: 100%;
  809. height: 100%;
  810. display: flex;
  811. justify-content: space-evenly;
  812. align-items: center;
  813. padding: 0 10px 8px 10px;
  814. }
  815. .loading {
  816. position: absolute;
  817. left: 0;
  818. top: 0;
  819. right: 0;
  820. bottom: 0;
  821. display: flex;
  822. justify-content: center;
  823. align-items: center;
  824. z-index: 100;
  825. background: rgba(0, 0, 0, .6);
  826. }
  827. .loadingWrap {
  828. position: relative;
  829. width: 295px;
  830. padding: 21px 17px;
  831. background: rgba(135, 135, 135, .72);
  832. border-radius: 24px;
  833. .loadingIcon {
  834. position: absolute;
  835. left: 50%;
  836. top: -35px;
  837. transform: translateX(-50%);
  838. width: 216px;
  839. }
  840. .loadingTip {
  841. position: absolute;
  842. left: 50%;
  843. transform: translateX(-50%);
  844. bottom: -35px;
  845. color: #fff;
  846. font-size: 13px;
  847. font-weight: 400px;
  848. }
  849. :global {
  850. .van-progress {
  851. height: 7px;
  852. }
  853. .van-progress__portion {
  854. background: linear-gradient(180deg, #3CD6F9 0%, #1CACF1 100%);
  855. border: 1px solid rgba(255, 255, 255, .5);
  856. }
  857. .van-progress__pivot {
  858. top: 0;
  859. color: transparent;
  860. background-color: transparent;
  861. width: 35px;
  862. height: 37px;
  863. background-image: url('./image/icon_loading_head.png');
  864. background-repeat: no-repeat;
  865. background-size: 100% 100%;
  866. }
  867. }
  868. }
  869. .imgs {
  870. position: relative;
  871. width: 84%;
  872. height: 100%;
  873. pointer-events: none;
  874. &>img {
  875. position: absolute;
  876. left: 50%;
  877. top: 50%;
  878. transform: translate(-50%, -50%);
  879. display: block;
  880. max-width: 100%;
  881. max-height: 100%;
  882. }
  883. // .fullContent {
  884. // position: absolute;
  885. // left: 50%;
  886. // top: 50%;
  887. // transform: translate(-50%, -50%);
  888. // display: block;
  889. // width: 100%;
  890. // .showImgNk {
  891. // position: absolute;
  892. // top: 0;
  893. // left: 0;
  894. // width: 100%;
  895. // }
  896. // img {
  897. // width: 100%;
  898. // }
  899. // }
  900. }
  901. .fingeringPointSection {
  902. position: absolute;
  903. left: 50%;
  904. top: 50%;
  905. transform: translate(-50%, -50%);
  906. z-index: 10;
  907. .p1 {
  908. position: relative;
  909. // background: red;
  910. cursor: pointer;
  911. pointer-events: auto;
  912. }
  913. .p2 {
  914. position: absolute;
  915. top: 0;
  916. z-index: 1;
  917. left: 0;
  918. cursor: pointer;
  919. pointer-events: auto;
  920. }
  921. &>div {
  922. width: 100%;
  923. height: 100%;
  924. display: flex;
  925. align-items: flex-start;
  926. justify-content: space-between;
  927. }
  928. .pan-flute {
  929. padding: 28.5% 3.3% 3.1% 3.8%;
  930. justify-content: flex-start;
  931. &.pan-flute-back {
  932. flex-direction: row-reverse;
  933. justify-content: space-evenly;
  934. }
  935. .p1 {
  936. // background-color: rgba(255, 0, 0, .3);
  937. width: 3.4%;
  938. height: 100%;
  939. }
  940. }
  941. .melodica {
  942. padding: 0.9% 3.6% 3% 10.7%;
  943. .p1 {
  944. position: relative;
  945. width: 5.2%;
  946. // background-color: rgba(255, 0, 0, .3);
  947. height: 100%;
  948. }
  949. .p2 {
  950. position: absolute;
  951. top: 0;
  952. width: 54%;
  953. height: 58%;
  954. // background-color: rgba(0, 0, 255, .3);
  955. z-index: 1;
  956. left: 0;
  957. margin-left: -8%;
  958. }
  959. }
  960. }
  961. .tizhi {
  962. position: absolute;
  963. top: 20%;
  964. left: 0;
  965. width: 30px;
  966. height: 30px;
  967. text-align: center;
  968. line-height: 30px;
  969. border-radius: 100%;
  970. background-color: #6F99CA;
  971. color: #fff;
  972. box-shadow: 0 0 10px rgba(0, 0, 0, .05);
  973. font-size: 12Px;
  974. opacity: 0;
  975. pointer-events: none;
  976. &:active {
  977. opacity: .8;
  978. }
  979. }
  980. .canDisplay {
  981. opacity: 1;
  982. pointer-events: auto;
  983. }
  984. .disabled {
  985. opacity: .5;
  986. pointer-events: none;
  987. }
  988. .fixedRightBtns {
  989. // position: fixed;
  990. // right: 12px;
  991. // top: 50%;
  992. // transform: translateY(-50%);
  993. position: fixed;
  994. left: 12px;
  995. top: 50%;
  996. right: auto;
  997. transform: translateY(-50%);
  998. z-index: 11;
  999. .baseBtn {
  1000. // width: 60px;
  1001. // height: 45px;
  1002. width: 45px;
  1003. height: 45px;
  1004. background: rgba(255, 255, 255, .27);
  1005. border-radius: 10px;
  1006. font-size: 12px;
  1007. font-weight: 400;
  1008. color: #616161;
  1009. line-height: 17px;
  1010. text-align: center;
  1011. cursor: pointer;
  1012. display: flex;
  1013. flex-direction: column;
  1014. justify-content: center;
  1015. align-items: center;
  1016. pointer-events: auto;
  1017. img {
  1018. width: 18px;
  1019. height: 18px;
  1020. }
  1021. &:active {
  1022. opacity: .8;
  1023. }
  1024. // &:active,
  1025. &.active {
  1026. // opacity: .8;
  1027. background: linear-gradient(180deg, #F4EFED 0%, #D9CEC7 100%) !important;
  1028. box-shadow: 0px 1px 2px 0px #9F9690, inset 0px -2px 0px 0px #CDC0B5, inset 0px 2px 1px 0px #FFFFFF;
  1029. border-radius: 8px;
  1030. }
  1031. }
  1032. .rightBtn {
  1033. width: 45px;
  1034. background: rgba(255, 255, 255, .27);
  1035. border-radius: 8px;
  1036. // overflow: hidden;
  1037. .baseBtn {
  1038. // margin: 0 4px;
  1039. background: transparent;
  1040. position: relative;
  1041. margin-bottom: 5px;
  1042. margin-top: 3px;
  1043. &::after {
  1044. content: '';
  1045. display: block;
  1046. position: absolute;
  1047. left: 50%;
  1048. bottom: -5px;
  1049. transform: translateX(-50%);
  1050. width: 20px;
  1051. height: 1px;
  1052. background-color: #616161;
  1053. opacity: 0.2;
  1054. }
  1055. &:nth-last-child(2) {
  1056. &::after {
  1057. display: none;
  1058. }
  1059. }
  1060. &:last-child {
  1061. margin-bottom: 0;
  1062. &::after {
  1063. display: none;
  1064. }
  1065. }
  1066. }
  1067. }
  1068. .resetBtn {
  1069. visibility: hidden;
  1070. }
  1071. }
  1072. .toggleBtn {
  1073. display: flex;
  1074. flex-direction: column;
  1075. align-items: center;
  1076. justify-content: center;
  1077. width: 34px;
  1078. height: 60px;
  1079. background: url('./image/icon_trans_bg.png') no-repeat;
  1080. background-size: 100%;
  1081. font-size: 14px;
  1082. color: #616161;
  1083. line-height: 14px;
  1084. font-weight: 600;
  1085. padding-left: 10px;
  1086. text-align: center;
  1087. cursor: pointer;
  1088. z-index: 12;
  1089. &:active {
  1090. opacity: .8;
  1091. }
  1092. img {
  1093. width: 9px;
  1094. height: 5px;
  1095. margin-top: 3px;
  1096. }
  1097. }
  1098. .toggleBtnhulusi {
  1099. min-height: 53px;
  1100. height: auto;
  1101. padding: 0 5px;
  1102. font-weight: 600;
  1103. // padding: 14px 0 15px 12px;
  1104. // background-image: url('./image/icon_trans_bg_hu.png');
  1105. // background-size: 100% 100%;
  1106. img {
  1107. width: 9px !important;
  1108. height: 5px !important;
  1109. }
  1110. .noteKey {
  1111. display: inline-block;
  1112. font-size: 12px;
  1113. position: relative;
  1114. .dot {
  1115. display: inline-block;
  1116. position: absolute;
  1117. left: 50%;
  1118. transform: translateX(-50%);
  1119. &.topDot {
  1120. top: 0;
  1121. }
  1122. &.bottomDot {
  1123. top: initial;
  1124. }
  1125. }
  1126. .noteName {
  1127. padding-top: 4px;
  1128. }
  1129. }
  1130. }
  1131. .toggleBtnhulusi2 {
  1132. min-height: 42px;
  1133. height: auto;
  1134. .oterhD {
  1135. display: flex;
  1136. flex-direction: column;
  1137. justify-content: center;
  1138. align-items: center;
  1139. font-weight: 600;
  1140. &>div {
  1141. display: flex;
  1142. }
  1143. }
  1144. img {
  1145. margin-top: 4px;
  1146. width: 9px !important;
  1147. height: 5px !important;
  1148. }
  1149. }
  1150. .tones {
  1151. display: flex;
  1152. flex-direction: column;
  1153. height: 100%;
  1154. position: relative;
  1155. z-index: 12;
  1156. transition: all .3s;
  1157. overflow: hidden;
  1158. // background-color: rgba(190, 166, 140, 1);
  1159. background-size: 100% 100%;
  1160. background-repeat: no-repeat;
  1161. .toneTitle {
  1162. position: relative;
  1163. height: 45px;
  1164. display: flex;
  1165. justify-content: center;
  1166. align-items: center;
  1167. flex-shrink: 0;
  1168. :global {
  1169. .van-button:active:before {
  1170. opacity: 0 !important;
  1171. }
  1172. }
  1173. }
  1174. .tipTitleName {
  1175. position: relative;
  1176. font-weight: 500;
  1177. font-size: 15px;
  1178. z-index: 1;
  1179. color: #fff;
  1180. font-size: 16px;
  1181. text-shadow: 0px 1px 2px #6D4825;
  1182. &::before {
  1183. content: '';
  1184. position: absolute;
  1185. left: -40px;
  1186. top: 50%;
  1187. transform: translateY(-50%);
  1188. width: 25px;
  1189. height: 1px;
  1190. background: #fff;
  1191. z-index: -1;
  1192. }
  1193. &::after {
  1194. content: '';
  1195. position: absolute;
  1196. right: -40px;
  1197. top: 50%;
  1198. transform: translateY(-50%);
  1199. width: 25px;
  1200. height: 1px;
  1201. background: #fff;
  1202. z-index: -1;
  1203. }
  1204. }
  1205. .tipClose {
  1206. position: absolute;
  1207. right: 0;
  1208. top: 0;
  1209. height: 100%;
  1210. border: none;
  1211. background: transparent;
  1212. border-radius: 0;
  1213. }
  1214. .tipContentbox {
  1215. position: relative;
  1216. flex: 1;
  1217. background: #FFFFFF;
  1218. display: flex;
  1219. flex-direction: column;
  1220. overflow: hidden;
  1221. &::before {
  1222. content: '';
  1223. position: absolute;
  1224. top: 0;
  1225. left: 0;
  1226. right: 0;
  1227. padding-bottom: 45%;
  1228. background: url('./image/icon_popup_top.png') no-repeat;
  1229. background-size: 100%;
  1230. opacity: .4;
  1231. pointer-events: none;
  1232. }
  1233. }
  1234. .tipWrap {
  1235. flex: 1;
  1236. overflow: hidden;
  1237. }
  1238. .tipContent {
  1239. flex: 1;
  1240. display: flex;
  1241. flex-direction: column;
  1242. border: 1.5px solid rgba(180, 165, 154, 1);
  1243. color: rgba(68, 59, 59, 1);
  1244. font-size: 12px;
  1245. }
  1246. .toneAction {
  1247. border-top: 1px solid #EBEBEB;
  1248. display: flex;
  1249. justify-content: center;
  1250. align-items: center;
  1251. padding: 16px 0;
  1252. img {
  1253. width: 45%;
  1254. max-width: 128px;
  1255. margin: 0 6px;
  1256. &:active {
  1257. opacity: .85;
  1258. }
  1259. }
  1260. }
  1261. .toneContent {
  1262. display: flex;
  1263. flex-wrap: wrap;
  1264. --van-button-primary-background: rgba(174, 137, 103, 1);
  1265. --van-button-primary-border-color: rgba(174, 137, 103, 1);
  1266. :global {
  1267. .van-space-item {
  1268. width: calc(100% / 4);
  1269. padding: 6px 2px;
  1270. }
  1271. .van-button {
  1272. position: relative;
  1273. font-size: 13px;
  1274. width: 100%;
  1275. height: 0;
  1276. padding: 0;
  1277. padding-bottom: 40.5%;
  1278. flex-shrink: 0;
  1279. &::before {
  1280. display: none;
  1281. }
  1282. .van-button__content {
  1283. position: absolute;
  1284. left: 0;
  1285. top: 0;
  1286. width: 100%;
  1287. }
  1288. &:active {
  1289. opacity: .8;
  1290. }
  1291. }
  1292. .van-button--primary {
  1293. --van-button-plain-background: RGBA(255, 246, 231, 1);
  1294. }
  1295. }
  1296. :global(.van-button--primary) {
  1297. .dot {
  1298. background: var(--van-button-primary-background) !important;
  1299. }
  1300. }
  1301. .hulusiNoteKey {
  1302. color: inherit;
  1303. text-shadow: none;
  1304. }
  1305. }
  1306. }
  1307. :global(.van-popup--right.tonePopup) {
  1308. width: 43%;
  1309. height: 100%;
  1310. border-radius: 18px 0px 0px 18px;
  1311. background-color: transparent;
  1312. .tones {
  1313. padding: 8px;
  1314. background-image: url('./image/icon_shuo_h.png');
  1315. &::before {
  1316. content: '';
  1317. position: absolute;
  1318. left: 8px;
  1319. top: 8px;
  1320. right: 8px;
  1321. bottom: 8px;
  1322. border-radius: 15px;
  1323. border: 1px solid rgba(240, 234, 230, 1);
  1324. pointer-events: none;
  1325. }
  1326. .tipContentbox {
  1327. padding: 6px 8px 8px 8px;
  1328. border-radius: 16px;
  1329. }
  1330. .tipContent {
  1331. border-radius: 16px;
  1332. padding: 4px 8px;
  1333. }
  1334. }
  1335. .hulusiBtn {
  1336. font-size: 10px;
  1337. text-wrap: nowrap;
  1338. }
  1339. }
  1340. :global(.van-popup--bottom.tonePopup) {
  1341. display: flex;
  1342. flex-direction: column;
  1343. min-height: 238px;
  1344. border-radius: 18px 18px 0 0;
  1345. background-color: transparent;
  1346. .tones {
  1347. flex: 1;
  1348. padding: 8px 8px 0 8px;
  1349. background-image: url('./image/icon_shuo_v.png');
  1350. &::before {
  1351. content: '';
  1352. position: absolute;
  1353. left: 8px;
  1354. top: 8px;
  1355. right: 8px;
  1356. bottom: 0;
  1357. border-radius: 15px;
  1358. border: 1px solid rgba(240, 234, 230, 1);
  1359. pointer-events: none;
  1360. }
  1361. .tipContentbox {
  1362. padding: 6px 8px 0 8px;
  1363. border-radius: 16px 16px 0 0;
  1364. }
  1365. .tipContent {
  1366. border-radius: 16px 16px 0 0;
  1367. border-bottom: transparent;
  1368. padding: 4px 8px;
  1369. }
  1370. }
  1371. .toneContent {
  1372. margin-top: auto;
  1373. :global {
  1374. .van-space-item {
  1375. max-width: 100px;
  1376. }
  1377. }
  1378. }
  1379. }
  1380. .changeSubjectPopup {
  1381. width: 375px;
  1382. height: 307px;
  1383. background: url('./image/subject-bg1.png') no-repeat center;
  1384. border-radius: 12px;
  1385. background-size: contain;
  1386. overflow: initial;
  1387. :global {
  1388. .bom_guide::before {
  1389. background-color: rgba(0, 0, 0, 0);
  1390. }
  1391. }
  1392. }
  1393. .linkSourceClass {
  1394. // .head {
  1395. // display: none;
  1396. // opacity: 0;
  1397. // }
  1398. .backBtn {
  1399. display: none;
  1400. opacity: 0;
  1401. }
  1402. .changeInstrumentBtn {
  1403. margin: 26px 5px 26px 18px !important;
  1404. }
  1405. .noteContentOther {
  1406. max-width: 75% !important
  1407. }
  1408. .fingerContent,
  1409. .fixedRightBtns {
  1410. padding-left: 0 !important;
  1411. padding-top: 0 !important;
  1412. }
  1413. // .left {
  1414. // // padding: 26px 5px 26px 18px;
  1415. // padding-top: 26px;
  1416. // padding-left: 18px;
  1417. // }
  1418. // .backBtn {
  1419. // display: none;
  1420. // }
  1421. }
  1422. .dragTopBox {
  1423. position: absolute;
  1424. top: 0;
  1425. left: 0;
  1426. height: 40px;
  1427. width: 100%;
  1428. }
  1429. :global {
  1430. .changeSubjectShowBoxClass_drag {
  1431. height: 307px !important;
  1432. background: url('./image/subject-bg2.png') no-repeat center !important;
  1433. background-size: contain !important;
  1434. .dragbomBox {
  1435. height: 37px;
  1436. }
  1437. .changeSubjectContainer_pc {
  1438. height: 168px !important;
  1439. }
  1440. .btnGroups_pc {
  1441. padding-top: 12px !important;
  1442. }
  1443. }
  1444. .tnoteShowBoxClass_drag {
  1445. padding: 49px 17px 30px 24px;
  1446. width: 375px;
  1447. overflow: initial;
  1448. height: 247px !important;
  1449. background: url('./image/subject-bg3.png') no-repeat center !important;
  1450. background-size: contain !important;
  1451. .dragbomBox {
  1452. height: 37px;
  1453. }
  1454. .toneTitle_pc {
  1455. display: none;
  1456. }
  1457. .tipContentbox_pc {
  1458. background-color: initial;
  1459. &::after {
  1460. display: none;
  1461. }
  1462. .tipContent_pc {
  1463. border: none;
  1464. .tipWrap_pc {
  1465. height: 116px !important;
  1466. flex: initial;
  1467. overflow-y: auto;
  1468. &::-webkit-scrollbar {
  1469. display: none;
  1470. }
  1471. }
  1472. .toneAction_pc {
  1473. padding-bottom: 0 !important;
  1474. padding-top: 12px !important;
  1475. }
  1476. }
  1477. }
  1478. }
  1479. }