_print.scss 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. /* -------------------------
  2. Paged.js : format + compteur
  3. -------------------------- */
  4. @page {
  5. size: A4 portrait;
  6. margin: 1.5cm;
  7. @bottom-center {
  8. content: "Page " counter(page) " / " counter(pages);
  9. font-size: 9pt;
  10. }
  11. }
  12. /* Pas de numéro sur cover / back-cover */
  13. .cover { page: cover; }
  14. .back-cover { page: backcover; }
  15. @page cover { @bottom-center { content: none; } }
  16. @page backcover { @bottom-center { content: none; } }
  17. /* -------------------------
  18. PRINT (Ctrl+P)
  19. -------------------------- */
  20. @media print {
  21. /* Cache l’UI du site */
  22. header[role="banner"],
  23. footer[role="contentinfo"],
  24. nav,
  25. .slick-arrow,
  26. .slick-dots,
  27. .layout__region--first{
  28. display: none !important;
  29. }
  30. .layout__region--top{
  31. flex: 0 1 100% !important;
  32. .block-entity-fieldnodefield-photo,
  33. .top_right{
  34. width: 100% !important;
  35. }
  36. }
  37. .top_top{
  38. flex-direction: column !important;
  39. }
  40. .layout__region--second{
  41. flex: 0 1 100% !important;
  42. margin: auto;
  43. margin-left: 3rem;
  44. }
  45. /* Cover */
  46. .cover.print-only {
  47. display: flex !important;
  48. min-height: 100vh;
  49. align-items: center;
  50. justify-content: center;
  51. text-align: center;
  52. break-after: page;
  53. }
  54. /* Back cover */
  55. .back-cover.print-only {
  56. break-before: page;
  57. .views-row-wrapper{
  58. display: flex;
  59. flex-direction: row;
  60. flex-wrap: wrap;
  61. }
  62. }
  63. /* Optionnel : éviter l’URL après liens sur la cover */
  64. .cover.print-only a[href^="http"]::after,
  65. .cover.print-only a[href^="https"]::after {
  66. content: "" !important;
  67. }
  68. }
  69. /* -------------------------
  70. SCREEN preview (Paged.js)
  71. -------------------------- */
  72. @media screen {
  73. /* En écran normal : cacher print-only */
  74. body:not(.use-paged) .print-only { display: none !important; }
  75. /* Fond et affichage pages */
  76. body.use-paged { background: #ddd; }
  77. body.use-paged .pagedjs_pages {
  78. width: 100%;
  79. padding: 2rem 0;
  80. }
  81. body.use-paged .pagedjs_page {
  82. margin: 1rem auto;
  83. background: #fff;
  84. box-shadow: 0 0 0 1px rgba(0,0,0,.35);
  85. }
  86. body.use-paged .pagedjs_pagebox {
  87. width: 210mm;
  88. min-height: 297mm;
  89. margin: 0 auto;
  90. background: #fff;
  91. }
  92. /* Paged.js met le contenu dans .pagedjs_page_content : on évite les surprises */
  93. body.use-paged .pagedjs_page_content {
  94. display: block;
  95. }
  96. }