card-preview.scss 30 KB

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