Могу ли я использовать CSS, чтобы установить разные размеры страниц по умолчанию для разных страниц?

8

У меня есть несколько страниц, которые я хотел бы настроить так, чтобы печать по умолчанию менялась до формата A4 в somecases, но портрет A3 в других.

Основываясь на ответе css print styling Я попытался настроить следующее в файле print.less

@media print{

  .print-portrait-a3 {
    @page {
      size: A3 portrait;
      margin: 0.5cm;
    }
  }

  .print-landscape-a4 {
    @page {
      size: A4 landscape;
      margin: 0.5cm;
    }
  }

  .print-portrait-a4 {
    @page {
      size: A4 portrait;
      margin: 0.5cm;
    }
  }
}

Затем я помещаю классы .print-portrait-A3 и т.д. в верхней части разделов страницы, которые я печатаю, чтобы заставить их печатать на разные размеры страниц.

Однако я не могу заставить это работать - в зависимости от того, какой последний стиль в моем css является тем, который используется всеми страницами.

Я только на самом деле начинаю с CSS (возможно, очевидно, что у меня нет большой догадки), поэтому я хотел бы получить некоторое объяснение, чтобы разобраться в моих недоразумениях.

Я использую jade и bootstrap

Теги:
pug

1 ответ

1

Я не думаю, что вы можете вложить CSS под div, как раз под медиа-запрос. Вот несколько непроверенных кодов, адаптированных из http://www.w3.org/TR/css3-page/#page-size-prop:

/* style sheet for "A4" printing */
 @media print and (width: 21cm) and (height: 29.7cm) {
    @page .print-landscape-a4 {
       margin: 3cm;
       size: A4 landscape;
    }
 }

Вы также можете посмотреть https://stackoverflow.com/questions/3341485/how-to-make-a-html-page-in-a4-paper-size-pages

  • 0
    Это работает для вас @DeeLindesay?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню