WriteDialogue.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908
  1. <template>
  2. <!-- 根据图片完成对话 -->
  3. <div class="SelectCorrect writeDialogueD">
  4. <div class="SelectCorrect-top">
  5. <img alt src="../../assets/qp/Ellipse 27.png">
  6. <img alt src="../../assets/qp/Ellipse 28.png">
  7. <img alt src="../../assets/qp/Ellipse 29.png">
  8. </div>
  9. <div class="SelectCorrect-main">
  10. <div class="dialog-maxHeight">
  11. <div class="left">
  12. <img alt src="../../assets/dialogue/Ellipse 41.png">
  13. <img alt class="wx-arrow" src="../../assets/dialogue/Rectangle 540.png">
  14. <div class="dialogue_content_box">
  15. <div class="bubble" v-if="cur.stem[0].mp3_url">
  16. <div class="bubble_dv">
  17. <VoicePlay
  18. :mp3="cur.stem[0].mp3_url"
  19. :seconds="cur.stem[0].duration+'’’'"
  20. v-if="cur.stem[0].mp3_url && cur.stem[0].mp3_url.indexOf('http') > -1"
  21. />
  22. </div>
  23. </div>
  24. <div
  25. :class="['translate_box',cur.stem[0].mp3_url?'':'novoice']"
  26. v-if="cur.stem[0].english||cur.stem[0].con"
  27. >
  28. <div class="translate">
  29. <div :key="index" v-for="(item,index) in stemCn">
  30. <p
  31. :class="bd.indexOf(stemPy[index]) != -1 ? 'pinyin_hidden' : 'spell'"
  32. v-if="lanactiveArr.indexOf('简单')>-1"
  33. >{{stemPy[index]}}</p>
  34. <p class="chinese">{{item}}</p>
  35. </div>
  36. </div>
  37. <p
  38. class="english"
  39. v-if="lanactiveArr.indexOf('简单')>-1"
  40. >{{cur.stem[0].english}}</p>
  41. </div>
  42. </div>
  43. </div>
  44. <div :key="index" class="micro-box" v-for="(item,index) in wavList">
  45. <div class="right">
  46. <div class="bubble">
  47. <div class="r_bubble_dv">
  48. <VoicePlay :seconds="item.seconds+'’’'" :wav="item.wav"/>
  49. </div>
  50. </div>
  51. <img alt class="wx-arrow" src="../../assets/dialogue/Rectangle 556.png">
  52. <img alt src="../../assets/dialogue/Ellipse 46.png">
  53. </div>
  54. </div>
  55. </div>
  56. <div class="bottom">
  57. <div class="bottom_top">
  58. <div class="switch">
  59. <!-- <img
  60. @click="lanShow =!lanShow"
  61. alt
  62. class="switchBtn"
  63. src="../../assets/dialogue/Group 1991.png"
  64. >-->
  65. <ul>
  66. <li
  67. :class="lanactiveArr.indexOf(item)>-1?'active':''"
  68. :key="index"
  69. @click="changeLan(item,index)"
  70. v-for="(item,index) in languageArr"
  71. >{{item}}</li>
  72. </ul>
  73. </div>
  74. </div>
  75. <div class="bottom_main">
  76. <div :class="['bottom-right']" @click="microphone()">
  77. <div class="bottom-right_record">
  78. <img alt src="../../assets/dialogue/maikefeng-red.png">
  79. {{rightBtn}}
  80. </div>
  81. <img alt src="../../assets/dialogue/Ellipse 46.png">
  82. </div>
  83. </div>
  84. </div>
  85. </div>
  86. </div>
  87. </template>
  88. <script>
  89. import Recorder from "js-audio-recorder"; //录音插件
  90. import VoicePlay from "../../components/common/VoicePlay";
  91. export default {
  92. props: [
  93. "cur",
  94. "getAnswer",
  95. "queIndex",
  96. "answer",
  97. "uiType",
  98. "watchIndex"
  99. ],
  100. components: {
  101. VoicePlay
  102. },
  103. data () {
  104. return {
  105. anwser: "",
  106. languageArr: [
  107. '简单',
  108. '困难'
  109. ],
  110. lanactiveArr: [
  111. '简单'
  112. ],
  113. lanShow: false, // 语言分类按钮是否显示
  114. stemCn: [], // 题干 中文
  115. stemPy: [], // 题干 拼音
  116. optionCn: [], // 回复 中文
  117. optionPy: [],// 回复 英文
  118. wavList: [], // 录音数组
  119. recorder: new Recorder({
  120. sampleBits: 16, // 采样位数,支持 8 或 16,默认是16
  121. sampleRate: 16000, // 采样率,支持 11025、16000、22050、24000、44100、48000,根据浏览器默认值,我的chrome是48000
  122. numChannels: 1, // 声道,支持 1 或 2, 默认是1
  123. }),
  124. microphoneStatus: false,
  125. rightBtn: "点击录音",
  126. wavblob: null,
  127. microphoneBtn: null, // 当前正在录音的按钮
  128. bd: [
  129. ",",
  130. ",",
  131. "。",
  132. ".",
  133. "!",
  134. "?",
  135. ":",
  136. ";",
  137. "(",
  138. ")",
  139. "【",
  140. "】",
  141. "{",
  142. "}",
  143. "‘",
  144. "“",
  145. "’",
  146. "”",
  147. "、",
  148. "、",
  149. "《",
  150. "》",
  151. "…",
  152. "·",
  153. "—",
  154. "~"
  155. ],
  156. };
  157. },
  158. watch: {
  159. watchIndex: {
  160. handler: function (val, oldVal) {
  161. let _this = this;
  162. if (val) {
  163. _this.handleData()
  164. }
  165. },
  166. // 深度观察监听
  167. deep: true,
  168. },
  169. },
  170. methods: {
  171. handleBookAnswer (e) {
  172. let value = e.trim()
  173. this.userAnswer = []
  174. this.userAnswer.push(value)
  175. this.getAnswer(this.userAnswer, this.queIndex)
  176. this.cur.Bookanswer = this.userAnswer
  177. },
  178. handleData () {
  179. this.stemCn = this.cur.stem[0].con.split("")
  180. this.stemPy = this.cur.stem[0].pinyin.split(" ")
  181. this.optionCn = this.cur.stem[1].con.replace(/_/g, "^").split("")
  182. this.optionPy = this.cur.stem[1].pinyin.replace(/_/g, "^").split(" ")
  183. this.optionCn.forEach((item, index) => {
  184. if (this.optionCn[index - 1] && this.optionCn[index - 1] == item && item == '^') {
  185. this.optionCn.splice(index, 1)
  186. }
  187. })
  188. if (this.cur.Bookanswer) {
  189. this.wavList = this.cur.Bookanswer
  190. } else {
  191. this.wavList = []
  192. }
  193. },
  194. // 切换语言
  195. changeLan (item, index) {
  196. this.lanactiveArr = item
  197. },
  198. // 开始录音
  199. microphone () {
  200. if (!this.microphoneStatus) {
  201. //开始录音
  202. this.recorder.start();
  203. this.microphoneStatus = true;
  204. this.rightBtn = '录音中...'
  205. } else {
  206. this.recorder.stop();
  207. let toltime = this.recorder.duration; //录音总时长
  208. let fileSize = this.recorder.fileSize; //录音总大小
  209. //录音结束,获取取录音数据
  210. let PCMBlob = this.recorder.getPCMBlob(); //获取 PCM 数据
  211. let wav = this.recorder.getWAVBlob(); //获取 WAV 数据
  212. this.wavblob = wav;
  213. this.microphoneStatus = false;
  214. this.microphoneBtn = null
  215. let wavResult = null
  216. var reader = new window.FileReader();
  217. reader.readAsDataURL(wav);
  218. let _this = this
  219. reader.onloadend = function() {
  220. wavResult = reader.result
  221. let obj = {
  222. wav: wavResult,
  223. seconds: Math.ceil(toltime)
  224. }
  225. _this.wavList.push(obj)
  226. _this.cur.Bookanswer = _this.wavList
  227. }
  228. this.rightBtn = '点击录音'
  229. }
  230. },
  231. // 判断对错
  232. practiceJudge () {
  233. if(this.cur.Bookanswer){
  234. return true
  235. }else{
  236. return false
  237. }
  238. }
  239. },
  240. created () {
  241. this.handleData()
  242. },
  243. };
  244. </script>
  245. <style lang="scss" scoped>
  246. * {
  247. margin: 0;
  248. padding: 0;
  249. }
  250. .SelectCorrect {
  251. width: 1200px;
  252. height: 708px;
  253. margin: 76px auto 0 auto;
  254. background: #fff;
  255. border-radius: 24px;
  256. box-shadow: 0px 6px 0px rgba(239, 167, 28, 0.4);
  257. .SelectCorrect-top {
  258. width: 100%;
  259. height: 60px;
  260. background: rgba(255, 214, 107, 0.3);
  261. border-top-left-radius: 24px;
  262. border-top-right-radius: 24px;
  263. display: flex;
  264. align-items: center;
  265. > img {
  266. margin-left: 20px;
  267. width: 24px;
  268. }
  269. }
  270. .SelectCorrect-main {
  271. background: #fff;
  272. padding: 48px 0px 0px 0;
  273. border-bottom-left-radius: 24px;
  274. border-bottom-right-radius: 24px;
  275. .img1 {
  276. text-align: center;
  277. border-bottom: 1px solid #e5e5e5;
  278. /* height: 120px;
  279. background: url("../../assets/dialogue/Group 1970.png") no-repeat */
  280. }
  281. &::after {
  282. content: '';
  283. display: block;
  284. height: 0;
  285. clear: both;
  286. visibility: hidden;
  287. }
  288. }
  289. .left {
  290. display: flex;
  291. align-items: flex-start;
  292. position: relative;
  293. margin-left: 60px;
  294. > img {
  295. width: 84px;
  296. }
  297. .wx-arrow {
  298. width: 12px;
  299. margin-top: 34px;
  300. margin-left: 24px;
  301. }
  302. .dialogue_content_box {
  303. padding-top: 10px;
  304. }
  305. .translate_box {
  306. background: #f6f6f6;
  307. border-radius: 14px;
  308. padding: 9px 20px;
  309. max-width: 600px;
  310. &.novoice {
  311. background: #e1f2fa;
  312. min-height: 68px;
  313. }
  314. }
  315. .translate {
  316. display: inline-block;
  317. align-items: center;
  318. color: #2c2c2c;
  319. > div {
  320. margin-left: 3px;
  321. text-align: center;
  322. float: left;
  323. }
  324. .spell {
  325. font-family: 'GB-PINYINOK-B';
  326. font-style: normal;
  327. font-weight: normal;
  328. font-size: 18px;
  329. height: 24px;
  330. }
  331. .chinese {
  332. font-family: 'FZJCGFKTK';
  333. font-style: normal;
  334. font-weight: normal;
  335. font-size: 36px;
  336. }
  337. }
  338. .english {
  339. color: #2c2c2c;
  340. font-size: 16px;
  341. line-height: 20px;
  342. // font-family: sourceR;
  343. display: block;
  344. margin-left: 5px;
  345. }
  346. }
  347. .wx-arrow {
  348. margin-bottom: 8px;
  349. }
  350. .right {
  351. display: flex;
  352. align-items: flex-start;
  353. justify-content: flex-end;
  354. margin-top: 44px;
  355. margin-right: 60px;
  356. > img {
  357. width: 84px;
  358. }
  359. .wx-arrow {
  360. width: 12px;
  361. margin-top: 34px;
  362. margin-right: 24px;
  363. }
  364. .dialogue_content_box {
  365. padding-top: 10px;
  366. }
  367. .translate_box {
  368. background: #f6f6f6;
  369. &.novoice {
  370. background: #f6f6f6;
  371. }
  372. }
  373. .bubble {
  374. justify-content: flex-end;
  375. .bubble_dv {
  376. background: #f6f6f6;
  377. }
  378. }
  379. }
  380. .bubble {
  381. display: flex;
  382. align-items: center;
  383. // padding: 0 24px;
  384. .bubble_dv {
  385. width: 200px;
  386. height: 72px;
  387. background: #e1f2fa;
  388. border-radius: 14px;
  389. font-size: 24px;
  390. display: flex;
  391. align-items: center;
  392. cursor: pointer;
  393. margin-bottom: 8px;
  394. > img {
  395. margin-left: 20px;
  396. }
  397. > span {
  398. margin-left: 10px;
  399. }
  400. }
  401. .r_bubble_dv {
  402. min-height: 72px;
  403. background: #eeeeee;
  404. border-radius: 14px;
  405. font-size: 24px;
  406. display: flex;
  407. align-items: center;
  408. max-width: 600px;
  409. margin-top: 8px;
  410. > img {
  411. margin-left: 20px;
  412. }
  413. > span {
  414. margin-left: 10px;
  415. }
  416. .translate {
  417. display: flex;
  418. align-items: center;
  419. padding: 0px 20px;
  420. color: #2c2c2c;
  421. > div {
  422. margin-left: 5px;
  423. text-align: center;
  424. }
  425. }
  426. }
  427. }
  428. .pinyin_hidden {
  429. visibility: hidden;
  430. }
  431. }
  432. .micro-box {
  433. display: flex;
  434. justify-content: flex-end;
  435. }
  436. .bottom {
  437. margin-top: 10px;
  438. img {
  439. margin-left: 10px;
  440. width:84px;
  441. }
  442. .switch {
  443. display: flex;
  444. align-items: center;
  445. padding-bottom: 16px;
  446. padding-left: 52px;
  447. }
  448. ul {
  449. display: inline-block;
  450. width: 900px;
  451. li {
  452. display: inline-block;
  453. min-width: 48px;
  454. padding: 4px 8px;
  455. font-size: 18px;
  456. line-height: 1.5;
  457. background: #ffedbf;
  458. border-radius: 8px;
  459. margin: 0 4px;
  460. text-align: center;
  461. cursor: pointer;
  462. // font-family: sourceR;
  463. }
  464. .active {
  465. background: #7663ec;
  466. color: #ffffff;
  467. font-weight: 700;
  468. }
  469. }
  470. .switchBtn {
  471. width: 40px;
  472. margin-left: 24px;
  473. margin-right: 8px;
  474. cursor: pointer;
  475. }
  476. .bottom_top {
  477. border-bottom: 1px solid #e5e5e5;
  478. }
  479. .bottom_main {
  480. height: 156px;
  481. display: flex;
  482. align-items: top;
  483. justify-content: flex-end;
  484. // font-family: Source Han Sans SC;
  485. font-style: normal;
  486. font-weight: normal;
  487. font-size: 24px;
  488. padding-right: 60px;
  489. .bottom-right {
  490. margin-top: 24px;
  491. display: flex;
  492. cursor: pointer;
  493. align-items: center;
  494. > div {
  495. width: 176px;
  496. margin-right: 12px;
  497. border: 2px solid #fb5b5b;
  498. border-radius: 14px;
  499. display: flex;
  500. align-items: center;
  501. justify-content: center;
  502. font-size: 24px;
  503. line-height: 35px;
  504. color: #e24747;
  505. height: 72px;
  506. img {
  507. width:22px;
  508. height: 22px;
  509. margin-right: 10px;
  510. }
  511. }
  512. .bottom-right_record:active {
  513. background: #ffe3e3;
  514. border-color: #ffe3e3;
  515. }
  516. }
  517. }
  518. }
  519. .questionMiddle {
  520. .SelectCorrect {
  521. width: 800px;
  522. height: 472px;
  523. margin: 44px auto 0 auto;
  524. background: #fff;
  525. border-radius: 16px;
  526. box-shadow: 0px 4px 0px rgba(239, 167, 28, 0.4);
  527. .SelectCorrect-top {
  528. width: 100%;
  529. height: 40px;
  530. background: rgba(255, 214, 107, 0.3);
  531. border-top-left-radius: 16px;
  532. border-top-right-radius: 16px;
  533. > img {
  534. margin-left: 13px;
  535. width: 16px;
  536. }
  537. }
  538. .SelectCorrect-main {
  539. background: #fff;
  540. padding: 32px 0px 0px 0;
  541. border-bottom-left-radius: 16px;
  542. border-bottom-right-radius: 16px;
  543. }
  544. .left {
  545. margin-left: 40px;
  546. > img {
  547. width: 56px;
  548. }
  549. .wx-arrow {
  550. width: 8px;
  551. margin-top: 22px;
  552. margin-left: 16px;
  553. }
  554. .dialogue_content_box {
  555. padding-top: 6px;
  556. }
  557. .translate_box {
  558. border-radius: 10px;
  559. padding: 6px 13px;
  560. max-width: 400px;
  561. &.novoice {
  562. min-height: 46px;
  563. }
  564. }
  565. .translate {
  566. > div {
  567. margin-left: 2px;
  568. }
  569. .spell {
  570. font-size: 12px;
  571. height: 16px;
  572. }
  573. .chinese {
  574. font-size: 24px;
  575. }
  576. }
  577. .english {
  578. font-size: 12px;
  579. line-height: 20px;
  580. margin-left: 4px;
  581. }
  582. }
  583. .wx-arrow {
  584. margin-bottom: 6px;
  585. }
  586. .right {
  587. margin-top: 30px;
  588. margin-right: 40px;
  589. > img {
  590. width: 56px;
  591. }
  592. .wx-arrow {
  593. width: 8px;
  594. margin-top: 22px;
  595. margin-right: 16px;
  596. }
  597. .dialogue_content_box {
  598. padding-top: 6px;
  599. }
  600. .translate_box {
  601. background: #f6f6f6;
  602. &.novoice {
  603. background: #f6f6f6;
  604. }
  605. }
  606. .bubble {
  607. justify-content: flex-end;
  608. .bubble_dv {
  609. background: #f6f6f6;
  610. }
  611. }
  612. }
  613. .bubble {
  614. .bubble_dv {
  615. width: 133px;
  616. height: 48px;
  617. border-radius: 10px;
  618. font-size: 16px;
  619. margin-bottom: 6px;
  620. > img {
  621. margin-left: 13px;
  622. }
  623. > span {
  624. margin-left: 6px;
  625. }
  626. }
  627. .r_bubble_dv {
  628. min-height: 48px;
  629. border-radius: 10px;
  630. font-size: 16px;
  631. max-width: 400px;
  632. margin-top: 6px;
  633. > img {
  634. margin-left: 13px;
  635. }
  636. > span {
  637. margin-left: 6px;
  638. }
  639. .translate {
  640. padding: 0px 13px;
  641. > div {
  642. margin-left: 4px;
  643. }
  644. }
  645. }
  646. }
  647. .pinyin_hidden {
  648. visibility: hidden;
  649. }
  650. }
  651. .bottom {
  652. margin-top: 6px;
  653. img {
  654. margin-left: 6px;
  655. width:56px;
  656. }
  657. .switch {
  658. padding-bottom: 10px;
  659. padding-left: 34px;
  660. }
  661. ul {
  662. display: inline-block;
  663. width: 600px;
  664. li {
  665. display: inline-block;
  666. min-width: 32px;
  667. padding: 3px 6px;
  668. font-size: 12px;
  669. border-radius: 6px;
  670. margin: 0 3px;
  671. }
  672. .active {
  673. background: #7663ec;
  674. color: #ffffff;
  675. font-weight: 700;
  676. }
  677. }
  678. .switchBtn {
  679. width: 26px;
  680. margin-left: 16px;
  681. margin-right: 6px;
  682. }
  683. .bottom_main {
  684. height: 104px;
  685. font-size: 16px;
  686. padding-right: 40px;
  687. .bottom-right {
  688. margin-top: 16px;
  689. > div {
  690. width: 117px;
  691. margin-right: 8px;
  692. border: 2px solid #fb5b5b;
  693. border-radius: 10px;
  694. font-size: 16px;
  695. line-height: 24px;
  696. height: 48px;
  697. img {
  698. width:14px;
  699. height: 14px;
  700. margin-right: 6px;
  701. }
  702. }
  703. .bottom-right_record:active {
  704. background: #ffe3e3;
  705. border-color: #ffe3e3;
  706. }
  707. }
  708. }
  709. }
  710. }
  711. .questionSmall {
  712. .SelectCorrect {
  713. width: 600px;
  714. height: 354px;
  715. margin: 28px auto 0 auto;
  716. border-radius: 12px;
  717. box-shadow: 0px 3px 0px rgba(239, 167, 28, 0.4);
  718. .SelectCorrect-top {
  719. height: 30px;
  720. border-top-left-radius: 12px;
  721. border-top-right-radius: 12px;
  722. > img {
  723. margin-left: 10px;
  724. width: 12px;
  725. }
  726. }
  727. .SelectCorrect-main {
  728. padding: 24px 0px 0px 0;
  729. border-bottom-left-radius: 12px;
  730. border-bottom-right-radius: 12px;
  731. }
  732. .left {
  733. margin-left: 30px;
  734. > img {
  735. width: 42px;
  736. }
  737. .wx-arrow {
  738. width: 6px;
  739. margin-top: 17px;
  740. margin-left: 12px;
  741. }
  742. .dialogue_content_box {
  743. padding-top: 5px;
  744. }
  745. .translate_box {
  746. border-radius: 7px;
  747. padding: 5px 10px;
  748. max-width: 300px;
  749. &.novoice {
  750. background: #e1f2fa;
  751. min-height: 34px;
  752. }
  753. }
  754. .translate {
  755. > div {
  756. margin-left: 2px;
  757. }
  758. .spell {
  759. font-size: 12px;
  760. height: 18px;
  761. }
  762. .chinese {
  763. font-size: 18px;
  764. }
  765. }
  766. .english {
  767. font-size: 12px;
  768. line-height: 18px;
  769. margin-left: 2px;
  770. }
  771. }
  772. .wx-arrow {
  773. margin-bottom: 4px;
  774. }
  775. .right {
  776. margin-top: 22px;
  777. margin-right: 30px;
  778. > img {
  779. width: 42px;
  780. }
  781. .wx-arrow {
  782. width: 6px;
  783. margin-top: 17px;
  784. margin-right: 12px;
  785. }
  786. .dialogue_content_box {
  787. padding-top: 5px;
  788. }
  789. .translate_box {
  790. background: #f6f6f6;
  791. &.novoice {
  792. background: #f6f6f6;
  793. }
  794. }
  795. .bubble {
  796. justify-content: flex-end;
  797. .bubble_dv {
  798. background: #f6f6f6;
  799. }
  800. }
  801. }
  802. .bubble {
  803. .bubble_dv {
  804. width: 100px;
  805. height: 36px;
  806. border-radius: 7px;
  807. font-size: 12px;
  808. margin-bottom: 4px;
  809. > img {
  810. margin-left: 10px;
  811. }
  812. > span {
  813. margin-left: 5px;
  814. }
  815. }
  816. .r_bubble_dv {
  817. min-height: 36px;
  818. border-radius: 7px;
  819. font-size: 12px;
  820. max-width: 300px;
  821. margin-top: 4px;
  822. > img {
  823. margin-left: 10px;
  824. }
  825. > span {
  826. margin-left: 5px;
  827. }
  828. .translate {
  829. padding: 0px 10px;
  830. > div {
  831. margin-left: 2px;
  832. }
  833. }
  834. }
  835. }
  836. .pinyin_hidden {
  837. visibility: hidden;
  838. height:12px;
  839. }
  840. }
  841. .bottom {
  842. margin-top: 5px;
  843. img {
  844. margin-left: 5px;
  845. width:42px;
  846. }
  847. .switch {
  848. padding-bottom: 8px;
  849. padding-left: 26px;
  850. }
  851. ul {
  852. width: 450px;
  853. li {
  854. min-width: 24px;
  855. padding: 2px 4px;
  856. font-size: 12px;
  857. border-radius: 4px;
  858. margin: 0 2px;
  859. }
  860. .active {
  861. background: #7663ec;
  862. color: #ffffff;
  863. font-weight: 700;
  864. }
  865. }
  866. .switchBtn {
  867. width: 20px;
  868. margin-left: 12px;
  869. margin-right: 4px;
  870. }
  871. .bottom_main {
  872. height: 78px;
  873. font-size: 12px;
  874. padding-right: 30px;
  875. .bottom-right {
  876. margin-top: 12px;
  877. > div {
  878. width: 88px;
  879. margin-right: 6px;
  880. border: 1px solid #fb5b5b;
  881. border-radius: 7px;
  882. font-size: 12px;
  883. line-height: 18px;
  884. height: 36px;
  885. img {
  886. width:11px;
  887. height: 11px;
  888. margin-right: 5px;
  889. }
  890. }
  891. .bottom-right_record:active {
  892. background: #ffe3e3;
  893. border-color: #ffe3e3;
  894. }
  895. }
  896. }
  897. }
  898. }
  899. </style>