card-preview.scss 29 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532
  1. // card-preview
  2. .card-preview {
  3. padding: 10px 0;
  4. background-color: #f0f0f0;
  5. color: #000;
  6. .page-box {
  7. margin: 10px auto;
  8. box-shadow: 0 0 4px #ddd;
  9. }
  10. }
  11. .card-print {
  12. padding: 0;
  13. .page-box {
  14. margin: 0 auto;
  15. box-shadow: none;
  16. page-break-after: always;
  17. }
  18. // 印刷模式:隐藏客观题强调标记
  19. .elem-fill-question-first {
  20. &::before {
  21. display: none;
  22. }
  23. }
  24. .elem-fill-question .option-item,
  25. .card-head-body .head-stdno .stdno-fill-option,
  26. .page-number-rect-list li,
  27. .card-head-body .head-dynamic-rect {
  28. border-width: 0.5pt;
  29. }
  30. }
  31. // page-box
  32. .page-box {
  33. position: relative;
  34. background: #fff;
  35. margin: 0 auto;
  36. font-weight: normal;
  37. font-family: "Times New Roman", "宋体", "宋体-简", Arial, sans-serif;
  38. .page-main {
  39. height: 100%;
  40. position: relative;
  41. white-space: nowrap;
  42. margin: 0 -10px;
  43. &-2 {
  44. .page-column {
  45. width: 50%;
  46. }
  47. }
  48. &-3 {
  49. .page-column {
  50. width: 33.33%;
  51. }
  52. }
  53. &-4 {
  54. .page-column {
  55. width: 25%;
  56. }
  57. }
  58. }
  59. &-A3 {
  60. width: 1586px;
  61. height: 1122px;
  62. .page-main {
  63. &-inner {
  64. padding: 60px 80px;
  65. }
  66. }
  67. }
  68. &-A4 {
  69. width: 793px;
  70. height: 1122px;
  71. .page-main {
  72. &-inner {
  73. padding: 60px 45px;
  74. }
  75. }
  76. }
  77. &-less {
  78. .page-number-rect {
  79. display: none;
  80. }
  81. }
  82. }
  83. // 分栏间距,默认20px
  84. // page-main-inner
  85. .page-main-inner {
  86. position: absolute;
  87. width: 100%;
  88. height: 100%;
  89. top: 0;
  90. left: 0;
  91. padding: 60px 80px 86px;
  92. z-index: 9;
  93. font-size: 0;
  94. }
  95. // page-main-outer
  96. .page-main-outer {
  97. position: absolute;
  98. top: 0;
  99. left: 0;
  100. right: 0;
  101. bottom: 0;
  102. z-index: 7;
  103. background-color: transparent;
  104. overflow: hidden;
  105. }
  106. .page-column {
  107. display: inline-block;
  108. vertical-align: middle;
  109. position: relative;
  110. height: 100%;
  111. width: 100%;
  112. font-size: 14px;
  113. padding: 0 10px;
  114. &-forbid-area {
  115. position: absolute;
  116. top: 0;
  117. left: 0;
  118. bottom: 0;
  119. right: 0;
  120. z-index: 1;
  121. border: 1px solid #000;
  122. overflow: hidden;
  123. &::before {
  124. content: "";
  125. display: block;
  126. position: absolute;
  127. width: 1200px;
  128. border-bottom: 1px solid rgba(172, 172, 172, 1);
  129. top: 0;
  130. left: 0;
  131. transform: rotate(54.216deg);
  132. transform-origin: left;
  133. z-index: 1;
  134. }
  135. &::after {
  136. content: "";
  137. display: block;
  138. position: absolute;
  139. width: 1200px;
  140. border-bottom: 1px solid rgba(172, 172, 172, 1);
  141. bottom: 0;
  142. left: 0;
  143. transform: rotate(-54.216deg);
  144. transform-origin: left;
  145. z-index: 1;
  146. }
  147. > p {
  148. padding: 20px;
  149. position: absolute;
  150. width: 260px;
  151. height: 82px;
  152. top: 50%;
  153. left: 50%;
  154. margin-top: -41px;
  155. margin-left: -130px;
  156. z-index: 9;
  157. font-weight: bold;
  158. font-size: 30px;
  159. color: #999;
  160. background-color: #fff;
  161. text-align: center;
  162. }
  163. }
  164. &-main {
  165. position: relative;
  166. height: 100%;
  167. }
  168. &-body {
  169. position: absolute;
  170. top: 0;
  171. bottom: 0;
  172. left: 0;
  173. right: 0;
  174. z-index: 9;
  175. }
  176. &-element {
  177. .element-item {
  178. position: relative;
  179. &-width {
  180. width: 100% !important;
  181. }
  182. &::before {
  183. content: "";
  184. position: absolute;
  185. width: 100%;
  186. height: 100%;
  187. top: 0;
  188. left: 0;
  189. box-sizing: border-box;
  190. z-index: 2;
  191. border: 1px solid #000;
  192. border-top: 0;
  193. }
  194. > div {
  195. z-index: 9;
  196. position: relative;
  197. }
  198. &-card-head {
  199. &::before {
  200. border: 0;
  201. }
  202. }
  203. &-topic-head {
  204. &::before {
  205. border: 0;
  206. }
  207. }
  208. &-fill-question,
  209. &-fill-line {
  210. &::before {
  211. border-bottom: 0;
  212. }
  213. }
  214. // 预览时,小题扩展答题区之间隐藏分割线
  215. &-explain {
  216. &::before {
  217. border-bottom-color: transparent;
  218. }
  219. }
  220. &-type-last {
  221. &::before {
  222. border-bottom: 1px solid #000;
  223. }
  224. }
  225. }
  226. &:last-child {
  227. .element-item {
  228. &::before {
  229. border-bottom: 1px solid #000;
  230. }
  231. }
  232. .element-item-card-head.element-item-type-pre {
  233. &::before {
  234. border-bottom: none;
  235. }
  236. }
  237. }
  238. }
  239. }
  240. // locator
  241. .page-locator {
  242. position: absolute;
  243. left: 80px;
  244. right: 80px;
  245. height: 16px;
  246. z-index: 8;
  247. &-top {
  248. top: 30px;
  249. }
  250. &-bottom {
  251. bottom: 30px;
  252. }
  253. &-item {
  254. position: absolute;
  255. width: 24px;
  256. border-bottom: 16px solid #000;
  257. top: 0;
  258. &:nth-of-type(1) {
  259. left: 0;
  260. }
  261. &:nth-of-type(2) {
  262. right: 96px;
  263. }
  264. }
  265. }
  266. .page-box-1 {
  267. .page-locator {
  268. &-bottom {
  269. .page-locator-item:nth-of-type(1) {
  270. right: 0;
  271. left: auto;
  272. }
  273. }
  274. &-item {
  275. &:nth-of-type(1) {
  276. left: 96px;
  277. }
  278. &:nth-of-type(2) {
  279. right: 0;
  280. }
  281. }
  282. }
  283. }
  284. // page-number
  285. .page-number {
  286. position: absolute;
  287. bottom: 30px;
  288. &-rect {
  289. left: 25%;
  290. transform: translateX(-50%);
  291. -webkit-transform: translateX(-50%);
  292. }
  293. &-rect-list {
  294. font-size: 0;
  295. li {
  296. display: inline-block;
  297. vertical-align: top;
  298. font-size: 14px;
  299. width: 24px;
  300. height: 16px;
  301. border: 1px solid #000;
  302. margin-right: 10px;
  303. &.rect-li-act {
  304. height: 0;
  305. border: none;
  306. border-bottom: 16px solid #000;
  307. }
  308. }
  309. }
  310. &-text {
  311. right: 25%;
  312. }
  313. &-text-cont {
  314. height: 16px;
  315. line-height: 16px;
  316. }
  317. }
  318. .page-box-A4 {
  319. .page-number-rect {
  320. left: 50%;
  321. }
  322. }
  323. // elem
  324. .elem {
  325. &-title {
  326. padding: 10px;
  327. font-size: 14px;
  328. color: rgba(0, 0, 0, 1);
  329. line-height: 1;
  330. white-space: normal;
  331. }
  332. &-body {
  333. padding: 10px;
  334. }
  335. }
  336. // grid
  337. .grid-container {
  338. margin-left: -10px;
  339. margin-right: -10px;
  340. }
  341. .grid-row {
  342. display: table;
  343. width: 100%;
  344. border-spacing: 10px 0;
  345. border-collapse: separate;
  346. &:nth-of-type(2) {
  347. margin-top: 10px;
  348. }
  349. .grid-col {
  350. display: table-cell;
  351. width: 50%;
  352. vertical-align: top;
  353. border: 1px solid #000;
  354. &-dash {
  355. border-style: dashed;
  356. vertical-align: middle;
  357. }
  358. }
  359. }
  360. // card-head
  361. .card-head {
  362. &-top {
  363. text-align: center;
  364. color: #000;
  365. }
  366. &-title {
  367. font-size: 24px;
  368. font-weight: bold;
  369. overflow: hidden;
  370. > h1 {
  371. line-height: 33px;
  372. white-space: nowrap;
  373. letter-spacing: -1px;
  374. }
  375. }
  376. &-subtitle {
  377. height: 44px;
  378. font-family: $--font-family;
  379. font-size: 14px;
  380. overflow: hidden;
  381. white-space: normal;
  382. margin-bottom: 10px;
  383. > p {
  384. padding: 0 10px;
  385. line-height: 22px;
  386. white-space: pre;
  387. }
  388. }
  389. &-body {
  390. font-weight: normal;
  391. .el-col {
  392. padding-top: 5px;
  393. padding-bottom: 5px;
  394. }
  395. &-spin {
  396. padding: 5px 12px;
  397. white-space: normal;
  398. word-break: break-all;
  399. }
  400. .stdinfo-item {
  401. height: 30px;
  402. line-height: 30px;
  403. position: relative;
  404. overflow: hidden;
  405. &::after {
  406. content: "";
  407. display: block;
  408. position: absolute;
  409. width: 100%;
  410. border-bottom: 1px solid #000;
  411. bottom: 6px;
  412. left: 0;
  413. z-index: 1;
  414. }
  415. > span {
  416. z-index: 2;
  417. display: block;
  418. position: relative;
  419. font-size: 14px;
  420. &:first-child {
  421. float: left;
  422. background-color: #fff;
  423. text-align: justify;
  424. font-size: 0px;
  425. & > i {
  426. font-size: 14px;
  427. }
  428. &::after {
  429. content: "";
  430. display: inline-block;
  431. width: 100%;
  432. height: 0;
  433. line-height: 0;
  434. }
  435. }
  436. &:nth-of-type(2) {
  437. float: left;
  438. width: 20px;
  439. background-color: #fff;
  440. }
  441. &:last-child {
  442. margin-left: 80px;
  443. height: 100%;
  444. }
  445. }
  446. }
  447. .head-stdno {
  448. height: 100%;
  449. padding: 0;
  450. .stdno-empty {
  451. font-weight: bold;
  452. letter-spacing: 3px;
  453. text-align: center;
  454. }
  455. .stdno-fill {
  456. min-height: 240px;
  457. height: 100%;
  458. position: relative;
  459. &-rect {
  460. font-size: 0;
  461. height: 27px;
  462. border-bottom: 1px solid #000;
  463. }
  464. &-number {
  465. display: inline-block;
  466. vertical-align: top;
  467. width: 7.692%;
  468. height: 100%;
  469. &:not(:last-child) {
  470. border-right: 1px solid #000;
  471. }
  472. }
  473. &-head {
  474. position: absolute;
  475. width: 100%;
  476. height: 51px;
  477. top: 0;
  478. left: 0;
  479. z-index: 9;
  480. > h5 {
  481. border-bottom: 1px solid #000;
  482. line-height: 24px;
  483. font-size: 14px;
  484. font-weight: bold;
  485. text-align: center;
  486. }
  487. }
  488. &-body {
  489. position: absolute;
  490. top: 0;
  491. bottom: 0;
  492. padding-top: 51px;
  493. display: table;
  494. width: 100%;
  495. }
  496. &-list {
  497. display: table-cell;
  498. width: 7.692%;
  499. padding: 1px 0;
  500. }
  501. &-option {
  502. margin: 8px auto;
  503. width: 18px;
  504. height: 10px;
  505. font-size: 12px;
  506. line-height: 8px;
  507. text-align: center;
  508. color: #000;
  509. // border-rect
  510. border: 1px solid #000;
  511. font-family: "Times New Roman", Arial, sans-serif;
  512. > i {
  513. display: inline-block;
  514. transform: scale(0.67, 0.67);
  515. -webkit-transform: scale(0.67, 0.67);
  516. }
  517. }
  518. }
  519. .stdno-auto {
  520. &-barcode {
  521. height: 70px;
  522. text-align: center;
  523. > img {
  524. display: block;
  525. height: 50px;
  526. width: 300px;
  527. margin: 0 auto;
  528. }
  529. > p {
  530. line-height: 20px;
  531. }
  532. }
  533. }
  534. }
  535. .head-notice {
  536. > h4 {
  537. font-weight: normal;
  538. margin-bottom: 8px;
  539. }
  540. &-cont {
  541. line-height: 1.5;
  542. font-size: 12px;
  543. margin-bottom: 5px;
  544. > span {
  545. display: block;
  546. &:first-child {
  547. width: 20px;
  548. white-space: nowrap;
  549. float: left;
  550. }
  551. &:last-child {
  552. margin-left: 20px;
  553. }
  554. }
  555. }
  556. &-exam-number-fill {
  557. span {
  558. display: inline;
  559. &:first-child {
  560. float: none;
  561. }
  562. &:last-child {
  563. margin: 0;
  564. }
  565. }
  566. }
  567. }
  568. .head-dynamic {
  569. padding: 0;
  570. font-size: 12px;
  571. border-spacing: 0;
  572. border-collapse: collapse;
  573. &-part:not(:last-child) {
  574. border-bottom: 1px solid #000;
  575. }
  576. &-write {
  577. padding: 5px 12px;
  578. .stdinfo-item {
  579. margin-bottom: 0;
  580. }
  581. > p {
  582. line-height: 18px;
  583. }
  584. }
  585. &-missfill {
  586. display: table;
  587. width: 100%;
  588. }
  589. &-miss {
  590. padding: 10px;
  591. display: table-cell;
  592. vertical-align: middle;
  593. &:nth-of-type(2) {
  594. border-left: 1px solid #000;
  595. }
  596. span {
  597. display: block;
  598. }
  599. .head-dynamic-content {
  600. height: 14px;
  601. line-height: 14px;
  602. }
  603. .dynamic-miss-title {
  604. width: 54px;
  605. float: left;
  606. }
  607. .dynamic-miss-body {
  608. margin-left: 54px;
  609. height: 14px;
  610. text-align: center;
  611. font-size: 0;
  612. }
  613. }
  614. &-fill {
  615. padding: 10px;
  616. p {
  617. display: inline-block;
  618. vertical-align: middle;
  619. line-height: 18px;
  620. word-wrap: normal;
  621. &:first-child {
  622. margin-right: 20px;
  623. }
  624. > span,
  625. > i {
  626. display: inline-block;
  627. vertical-align: middle;
  628. box-sizing: border-box;
  629. }
  630. &:first-child {
  631. i {
  632. width: 28px;
  633. height: 14px;
  634. background-color: #000;
  635. }
  636. }
  637. &:last-child {
  638. > i {
  639. width: 28px;
  640. height: 14px;
  641. border: 1px solid #000;
  642. font-size: 14px;
  643. font-weight: bold;
  644. margin-right: 6px;
  645. line-height: 12px;
  646. text-align: center;
  647. &:last-child {
  648. margin-right: 0;
  649. }
  650. // wkhtmltopdf 工具无法渲染如下样式:
  651. // &:nth-of-type(1) {
  652. // position: relative;
  653. // &::before {
  654. // content: "";
  655. // display: block;
  656. // position: absolute;
  657. // left: 30%;
  658. // top: 1px;
  659. // height: 5px;
  660. // width: 11px;
  661. // transform: rotate(-45deg);
  662. // border-left: 1px solid #000;
  663. // border-bottom: 1px solid #000;
  664. // }
  665. // }
  666. // &:nth-of-type(2) {
  667. // position: relative;
  668. // &::before {
  669. // content: "";
  670. // display: block;
  671. // position: absolute;
  672. // left: 7px;
  673. // top: 5px;
  674. // width: 11px;
  675. // transform: rotate(-45deg);
  676. // transform-origin: center center;
  677. // border-bottom: 1px solid #000;
  678. // }
  679. // &::after {
  680. // content: "";
  681. // display: block;
  682. // position: absolute;
  683. // left: 8px;
  684. // top: 5px;
  685. // width: 11px;
  686. // transform: rotate(45deg);
  687. // transform-origin: center center;
  688. // border-bottom: 1px solid #000;
  689. // }
  690. // }
  691. &:nth-of-type(3) {
  692. &::before {
  693. content: "";
  694. display: inline-block;
  695. vertical-align: top;
  696. margin-left: -5px;
  697. height: 100%;
  698. width: 5px;
  699. background-color: #000;
  700. }
  701. }
  702. &:nth-of-type(4) {
  703. &::before {
  704. content: "";
  705. display: inline-block;
  706. margin-top: 1px;
  707. width: 10px;
  708. height: 10px;
  709. border-radius: 50%;
  710. background-color: #000;
  711. }
  712. }
  713. }
  714. }
  715. }
  716. }
  717. &-rect {
  718. display: inline-block;
  719. vertical-align: middle;
  720. width: 24px;
  721. height: 12px;
  722. // border-rect
  723. border: 1px solid #000;
  724. font-size: 12px;
  725. text-align: center;
  726. line-height: 10px;
  727. color: #000;
  728. margin: 0 5px;
  729. font-family: "Times New Roman", Arial, sans-serif;
  730. > i {
  731. display: inline-block;
  732. transform: scale(0.67, 0.67);
  733. -webkit-transform: scale(0.67, 0.67);
  734. }
  735. }
  736. &-aorb {
  737. display: table;
  738. width: 100%;
  739. .dynamic-aorb-item {
  740. display: table-cell;
  741. vertical-align: middle;
  742. text-align: center;
  743. &:not(:last-child) {
  744. border-right: 1px solid #000;
  745. }
  746. }
  747. &-fill {
  748. .dynamic-aorb-item:first-child {
  749. border: none;
  750. }
  751. }
  752. .dynamic-aorb-title {
  753. width: 83px;
  754. }
  755. .dynamic-aorb-info {
  756. width: 50px;
  757. font-size: 16px;
  758. position: relative;
  759. overflow: hidden;
  760. .dynamic-aorb-content {
  761. position: absolute;
  762. top: 50%;
  763. left: 0;
  764. width: 100%;
  765. transform: translateY(-50%);
  766. -webkit-transform: translateY(-50%);
  767. z-index: auto;
  768. }
  769. }
  770. .dynamic-aorb-barcode {
  771. img {
  772. display: block;
  773. position: relative;
  774. margin: 0 auto;
  775. width: 200px;
  776. height: 26px;
  777. padding: 7px 0;
  778. }
  779. }
  780. .dynamic-aorb-rects {
  781. padding: 16px 10px;
  782. }
  783. }
  784. }
  785. }
  786. &-part {
  787. border: 1px solid #000;
  788. &:not(:last-child) {
  789. margin-bottom: 10px;
  790. }
  791. }
  792. &-normal {
  793. .head-dynamic {
  794. &-1 {
  795. .head-dynamic-part {
  796. height: 100%;
  797. }
  798. }
  799. }
  800. }
  801. &-narrow {
  802. .head-stdno {
  803. height: 138px;
  804. .stdno-auto {
  805. position: relative;
  806. top: 50%;
  807. margin-top: -40px;
  808. }
  809. }
  810. }
  811. &-handle {
  812. &.card-head-narrow {
  813. .head-stdno {
  814. height: 286px;
  815. }
  816. }
  817. }
  818. }
  819. // card-head-body-auto-resize
  820. .card-head-body-auto-resize {
  821. margin-left: -5px;
  822. margin-right: -5px;
  823. overflow: hidden;
  824. &.col-item-auto-height {
  825. .card-head-body-spin {
  826. height: auto;
  827. }
  828. }
  829. .head-dynamic-2 {
  830. .head-dynamic-part {
  831. height: auto;
  832. }
  833. }
  834. .rect-col {
  835. padding: 5px;
  836. &:first-child {
  837. float: left;
  838. width: 50%;
  839. }
  840. &:last-child {
  841. float: right;
  842. width: 50%;
  843. }
  844. &-item {
  845. border: 1px solid #000;
  846. &:nth-of-type(2) {
  847. margin-top: 10px;
  848. }
  849. &-none {
  850. border: none;
  851. margin: 0 !important;
  852. }
  853. }
  854. }
  855. }
  856. // elem-topic-head
  857. .elem-topic-head {
  858. text-align: center;
  859. .elem-body {
  860. padding: 0;
  861. border: 1px solid #000;
  862. }
  863. &-pad {
  864. padding-top: 10px;
  865. }
  866. &-empty {
  867. .elem-body {
  868. border-top: none;
  869. }
  870. }
  871. h3 {
  872. font-size: 16px;
  873. height: 29px;
  874. line-height: 28px;
  875. border-bottom: 1px dotted #000;
  876. font-weight: normal;
  877. }
  878. p {
  879. font-size: 12px;
  880. height: 22px;
  881. line-height: 22px;
  882. white-space: nowrap;
  883. overflow: hidden;
  884. // text-overflow: ellipsis;
  885. }
  886. }
  887. // elem-line
  888. .elem-line-horizontal {
  889. height: 100%;
  890. line-height: 30px;
  891. .line-body {
  892. display: inline-block;
  893. vertical-align: middle;
  894. width: 100%;
  895. border-bottom: 1px solid #000;
  896. }
  897. }
  898. .elem-line-vertical {
  899. height: 100%;
  900. text-align: center;
  901. .line-body {
  902. display: inline-block;
  903. vertical-align: top;
  904. height: 100%;
  905. border-left: 1px solid #000;
  906. }
  907. }
  908. // elem-lines
  909. .elem-lines {
  910. .line-item {
  911. display: inline-block;
  912. vertical-align: top;
  913. }
  914. }
  915. // elem-rect
  916. .elem-rect {
  917. .rect-body {
  918. position: absolute;
  919. width: 100%;
  920. height: 100%;
  921. top: 0;
  922. left: 0;
  923. }
  924. }
  925. // elem-text
  926. .elem-text {
  927. .text-body {
  928. padding: 5px;
  929. line-height: 1.4;
  930. span {
  931. white-space: pre-wrap;
  932. word-wrap: normal;
  933. word-break: break-all;
  934. &.cont-variate {
  935. color: #a0a0a0;
  936. margin: 0 2px;
  937. }
  938. }
  939. }
  940. }
  941. // elem-barcode
  942. .elem-barcode {
  943. height: 100%;
  944. border-color: transparent;
  945. border-width: 1pt;
  946. position: relative;
  947. > img {
  948. max-height: 100%;
  949. max-width: 100%;
  950. position: absolute;
  951. top: 0;
  952. bottom: 0;
  953. left: 0;
  954. right: 0;
  955. margin: auto;
  956. }
  957. }
  958. // elem-image
  959. .elem-image {
  960. height: 100%;
  961. border-color: transparent;
  962. border-width: 1pt;
  963. position: relative;
  964. > p {
  965. position: absolute;
  966. width: 100%;
  967. height: 100%;
  968. top: 0;
  969. left: 0;
  970. display: table;
  971. text-align: center;
  972. color: #b0b0b0;
  973. font-size: 30pt;
  974. i {
  975. display: table-cell;
  976. vertical-align: middle;
  977. }
  978. }
  979. > img {
  980. max-height: 100%;
  981. max-width: 100%;
  982. position: absolute;
  983. top: 0;
  984. bottom: 0;
  985. left: 0;
  986. right: 0;
  987. margin: auto;
  988. }
  989. }
  990. // elem-girds
  991. .elem-grids {
  992. > table {
  993. table-layout: fixed;
  994. border-spacing: 0;
  995. border-collapse: collapse;
  996. td {
  997. border: 1px solid #000;
  998. }
  999. }
  1000. &-halving {
  1001. > table {
  1002. table-layout: auto;
  1003. width: 100%;
  1004. }
  1005. }
  1006. }
  1007. .elem-pane {
  1008. height: 100%;
  1009. }
  1010. // elem-fill-question
  1011. .elem-fill-question {
  1012. white-space: normal;
  1013. // 客观题强调标记
  1014. &-first::before {
  1015. content: "";
  1016. position: absolute;
  1017. right: 0;
  1018. top: 0;
  1019. z-index: 99;
  1020. color: #fff;
  1021. padding: 6px 10px;
  1022. line-height: 1;
  1023. font-size: 18px;
  1024. border-bottom-left-radius: 10px;
  1025. }
  1026. &-first.elem-fill-question-simple {
  1027. &::before {
  1028. content: "单选";
  1029. background-color: mix(#fff, $--color-success, 20%);
  1030. }
  1031. }
  1032. &-first.elem-fill-question-multiply {
  1033. &::before {
  1034. content: "多选";
  1035. background-color: $--color-primary-light;
  1036. }
  1037. }
  1038. &-first.elem-fill-question-boolean {
  1039. &::before {
  1040. content: "判断";
  1041. background-color: mix(#fff, $--color-warning, 20%);
  1042. }
  1043. }
  1044. &-boolean {
  1045. .option-item {
  1046. &:nth-of-type(2) i {
  1047. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAItJREFUOE/Vk9ERgCAMQ8M+GUInEyfTITKQV065KuDh8SWftHkNAQIGVxjU44cAkhHAAmCVFD8dwYktulnS3g2oiY2SAdZglmq34sS7pNn3JADJCcAGoGggaftWL2qFgzOc3OjEKbCau1sG3uo51TRN8c3BRX+E9SquAlwmU8t2EeLIf+h+B60hw4ADyTE7EWzzfYYAAAAASUVORK5CYII=);
  1048. background-size: 100% 100%;
  1049. width: 10px;
  1050. height: 10px;
  1051. margin-top: -1px;
  1052. }
  1053. &:nth-of-type(3) i {
  1054. background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAIVJREFUOE+tk9sNwCAIRa/7MES7WTerQ7BPGxolCpKmVT+Fe3gnTL40qUcHIKKNmXMEFTsA8TmqjwKK8SyG3YIiewQQjkKMGMysOlcCgJrFAykZdX9tdq6JNprphyttOIUA4sQCXw+YKmEg/tZEIrqapoVjbEe8bpEk8tsqj3zWHtOfy7wB41tXEXo/wKEAAAAASUVORK5CYII=);
  1055. background-size: 100% 100%;
  1056. width: 8px;
  1057. height: 8px;
  1058. }
  1059. }
  1060. }
  1061. .elem-body {
  1062. padding: 10px 5px;
  1063. font-size: 0;
  1064. }
  1065. .group-item {
  1066. font-family: "Times New Roman", Arial, sans-serif;
  1067. display: inline-block;
  1068. vertical-align: top;
  1069. font-size: 0;
  1070. // margin-bottom: 20px;
  1071. }
  1072. .question-item {
  1073. font-size: 0;
  1074. }
  1075. .option-item {
  1076. display: inline-block;
  1077. vertical-align: middle;
  1078. padding: 0;
  1079. width: 18px;
  1080. height: 10px;
  1081. text-align: center;
  1082. font-size: 12px;
  1083. line-height: 8px;
  1084. // border-rect
  1085. border: 1px solid #000;
  1086. color: #000;
  1087. box-sizing: border-box;
  1088. > i {
  1089. display: inline-block;
  1090. transform: scale(0.67, 0.67);
  1091. -webkit-transform: scale(0.67, 0.67);
  1092. }
  1093. &:first-child {
  1094. text-align: center;
  1095. border: none;
  1096. font-size: 12px;
  1097. line-height: 10px;
  1098. color: #000;
  1099. > i {
  1100. transform: scale(0.9, 0.9);
  1101. -webkit-transform: scale(0.9, 0.9);
  1102. }
  1103. }
  1104. &:last-child {
  1105. margin-right: 0 !important;
  1106. }
  1107. }
  1108. &-vertical {
  1109. .elem-body {
  1110. padding: 10px 20px;
  1111. }
  1112. .question-item {
  1113. display: inline-block;
  1114. vertical-align: top;
  1115. &:last-child {
  1116. margin-right: 0 !important;
  1117. }
  1118. }
  1119. .option-item {
  1120. display: block;
  1121. &:first-child {
  1122. padding: 0;
  1123. text-align: center;
  1124. }
  1125. &:last-child {
  1126. margin-bottom: 0 !important;
  1127. }
  1128. }
  1129. }
  1130. }
  1131. // elem-fill-area
  1132. .elem-fill-area {
  1133. .option-item {
  1134. display: inline-block;
  1135. vertical-align: middle;
  1136. width: 30px;
  1137. height: 16px;
  1138. border: 1px solid #000;
  1139. &:last-child {
  1140. margin-right: 0 !important;
  1141. }
  1142. }
  1143. &-vertical {
  1144. .option-item {
  1145. display: block;
  1146. &:last-child {
  1147. margin-bottom: 0 !important;
  1148. }
  1149. }
  1150. }
  1151. }
  1152. // elem-fill-line
  1153. .elem-fill-line {
  1154. white-space: normal;
  1155. .elem-body {
  1156. padding: 0 15px 0 10px;
  1157. font-size: 0;
  1158. }
  1159. .elem-fill-quesiton {
  1160. display: inline-block;
  1161. vertical-align: top;
  1162. position: relative;
  1163. padding: 0 1px;
  1164. font-size: 12px;
  1165. li {
  1166. &.elem-fill-line {
  1167. height: 40px;
  1168. position: relative;
  1169. margin: 0 10px 0 20px;
  1170. z-index: 8;
  1171. &::after {
  1172. content: "";
  1173. display: block;
  1174. position: absolute;
  1175. width: 100%;
  1176. border-bottom: 1px solid #000;
  1177. bottom: 8px;
  1178. }
  1179. }
  1180. &.elem-fill-no {
  1181. position: absolute;
  1182. top: 2px;
  1183. bottom: 2px;
  1184. left: 1px;
  1185. z-index: 9;
  1186. min-width: 20px;
  1187. text-align: left;
  1188. background-color: #fff;
  1189. border: none;
  1190. span {
  1191. display: block;
  1192. position: relative;
  1193. padding-bottom: 5px;
  1194. padding-right: 3px;
  1195. transform: translateY(-100%);
  1196. -webkit-transform: translateY(-100%);
  1197. }
  1198. }
  1199. &.elem-fill-comma {
  1200. position: absolute;
  1201. top: 0;
  1202. right: -10px;
  1203. z-index: 9;
  1204. transform: translateY(-100%);
  1205. -webkit-transform: translateY(-100%);
  1206. width: 10px;
  1207. padding-bottom: 4px;
  1208. background-color: #fff;
  1209. text-align: center;
  1210. border: none;
  1211. }
  1212. }
  1213. }
  1214. }
  1215. // elem-explain
  1216. .elem-explain {
  1217. .elem-title {
  1218. padding-bottom: 0;
  1219. }
  1220. .elem-body {
  1221. min-height: 60px;
  1222. position: relative;
  1223. }
  1224. .elem-explain-no {
  1225. position: absolute;
  1226. left: 20px;
  1227. top: 10px;
  1228. font-size: 12px;
  1229. z-index: 9;
  1230. }
  1231. .elem-explain-elements {
  1232. position: absolute;
  1233. width: 100%;
  1234. height: 100%;
  1235. top: 0;
  1236. left: 0;
  1237. z-index: 8;
  1238. }
  1239. .elem-explain-element {
  1240. .explain-element-body {
  1241. position: absolute;
  1242. }
  1243. }
  1244. }
  1245. // .elem-composition
  1246. .elem-composition {
  1247. .elem-title {
  1248. padding-bottom: 0;
  1249. }
  1250. .elem-body {
  1251. min-height: 60px;
  1252. position: relative;
  1253. }
  1254. &-elements {
  1255. position: absolute;
  1256. width: 100%;
  1257. height: 100%;
  1258. top: 0;
  1259. left: 0;
  1260. z-index: 8;
  1261. }
  1262. .elem-composition-element {
  1263. .composition-element-body {
  1264. position: absolute;
  1265. overflow: hidden;
  1266. }
  1267. }
  1268. }
  1269. // elem-fill-number
  1270. .elem-fill-number {
  1271. border: 1px solid #000;
  1272. .fill-number {
  1273. &-rect {
  1274. font-size: 0;
  1275. height: 27px;
  1276. border-bottom: 1px solid #000;
  1277. }
  1278. &-number {
  1279. display: inline-block;
  1280. vertical-align: top;
  1281. width: 7.692%;
  1282. height: 100%;
  1283. &:not(:last-child) {
  1284. border-right: 1px solid #000;
  1285. }
  1286. }
  1287. &-head {
  1288. height: 51px;
  1289. > h5 {
  1290. border-bottom: 1px solid #000;
  1291. line-height: 24px;
  1292. font-size: 16px;
  1293. font-weight: bold;
  1294. text-align: center;
  1295. }
  1296. }
  1297. &-body {
  1298. display: table;
  1299. width: 100%;
  1300. }
  1301. &-list {
  1302. display: table-cell;
  1303. width: 7.692%;
  1304. padding: 1px 0;
  1305. }
  1306. &-option {
  1307. margin: 8px auto;
  1308. width: 20px;
  1309. height: 14px;
  1310. font-size: 12px;
  1311. line-height: 1;
  1312. text-align: center;
  1313. color: #000;
  1314. // border-rect
  1315. border: 1px solid #000;
  1316. font-family: "Times New Roman", Arial, sans-serif;
  1317. > i {
  1318. display: inline-block;
  1319. transform: scale(0.67, 0.67);
  1320. -webkit-transform: scale(0.67, 0.67);
  1321. }
  1322. }
  1323. }
  1324. }
  1325. // elem-fill-field
  1326. .elem-fill-field {
  1327. white-space: normal;
  1328. overflow: hidden;
  1329. }
  1330. .fill-field {
  1331. &-item {
  1332. display: inline-block;
  1333. padding: 0 10px;
  1334. width: 100%;
  1335. }
  1336. &-content {
  1337. height: 30px;
  1338. line-height: 26px;
  1339. overflow: hidden;
  1340. position: relative;
  1341. &::after {
  1342. content: "";
  1343. display: block;
  1344. position: absolute;
  1345. width: 100%;
  1346. border-bottom: 1px solid #000;
  1347. bottom: 2px;
  1348. left: 0;
  1349. z-index: 1;
  1350. }
  1351. > span {
  1352. z-index: 2;
  1353. display: inline-block;
  1354. position: relative;
  1355. font-size: 14px;
  1356. vertical-align: top;
  1357. &:first-child {
  1358. background-color: #fff;
  1359. text-align: justify;
  1360. &::after {
  1361. content: "";
  1362. display: inline-block;
  1363. width: 100%;
  1364. height: 0;
  1365. line-height: 0;
  1366. }
  1367. }
  1368. &:nth-of-type(2) {
  1369. width: 10px;
  1370. background-color: #fff;
  1371. }
  1372. }
  1373. }
  1374. }
  1375. // elem-fill-pane
  1376. .elem-fill-pane {
  1377. font-size: 0;
  1378. white-space: normal;
  1379. overflow: hidden;
  1380. .fill-pane {
  1381. &-item {
  1382. display: inline-block;
  1383. vertical-align: top;
  1384. font-size: 14px;
  1385. }
  1386. &-cont {
  1387. border: 1px solid #000;
  1388. }
  1389. }
  1390. }
  1391. // elem-forbid-area
  1392. .elem-forbid-area {
  1393. height: 100%;
  1394. position: relative;
  1395. .text-body {
  1396. position: absolute;
  1397. width: 100%;
  1398. left: 0;
  1399. top: 50%;
  1400. transform: translateY(-50%);
  1401. -webkit-transform: translateY(-50%);
  1402. font-size: 30px;
  1403. text-align: center;
  1404. }
  1405. }
  1406. // card-free-preview
  1407. .card-free-preview {
  1408. &:not(.card-print) {
  1409. padding: 10px 0;
  1410. background-color: #f0f0f0;
  1411. .page-box {
  1412. margin: 10px auto;
  1413. box-shadow: 0 0 4px #ddd;
  1414. }
  1415. }
  1416. .page-column-element {
  1417. .element-item {
  1418. position: absolute;
  1419. &::before {
  1420. display: none;
  1421. }
  1422. }
  1423. }
  1424. }
  1425. @media print {
  1426. .card-preview {
  1427. padding: 0;
  1428. .page-box {
  1429. margin: 0 auto;
  1430. box-shadow: none;
  1431. page-break-after: always;
  1432. }
  1433. // 印刷模式:隐藏客观题强调标记
  1434. .elem-fill-question-first {
  1435. &::before {
  1436. display: none;
  1437. }
  1438. }
  1439. .elem-fill-question .option-item,
  1440. .card-head-body .head-stdno .stdno-fill-option,
  1441. .page-number-rect-list li,
  1442. .card-head-body .head-dynamic-rect {
  1443. border-width: 0.5pt;
  1444. }
  1445. }
  1446. }