card-preview.scss 29 KB

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