index.module.less 38 KB

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