Firefox печать только 1-й страницы - PullRequest
36 голосов
/ 05 января 2011

Я работаю над css для сайта.Он отлично просматривает / печатает в IE, но Firefox (версия 3.6) только просматривает / печатает только 1-ю страницу.

Кто-нибудь знает что-нибудь, что обычно вызывает это?Разметка довольно сложная, поэтому я не уверен, с чего начать!

Спасибо.

Редактировать

Это решение только ухудшило ситуацию.

https://support.mozilla.com/ga-IE/questions/667285#answer-115916

Похоже, печать просто отстой в FF.Клиенту не понравится это слышать - надеюсь, он не использует FF!

Ответы [ 13 ]

19 голосов
/ 04 сентября 2013

Я только что узнал, что из элемента с

display:inline-block; 

печатается только первая страница, а все остальное скрыто. установив это на

display:block;

было решением в моем случае.

13 голосов
/ 04 февраля 2016

Если вы не хотите просматривать весь свой код, это единственное, что я обнаружил, которое работает для меня, не испортив все мои другие CSS:

@media print {
  body {
    overflow: visible !important;
  }
}
12 голосов
/ 20 октября 2015

У меня была такая же проблема.Оказывается, на корневом теге было display: flex.После изменения этого значения на display: block остальная часть содержимого отображалась.Я бы порекомендовал перейти к вашему дереву DOM и проверить каждый атрибут display.

8 голосов
/ 21 марта 2016

Я попробовал дюжину исправлений для этого и, в конце концов, все, что мне было нужно, это:

@media print {
  body {
    display: block;
  }
}
5 голосов
/ 23 июня 2016

У меня была такая же проблема, потому что height из body установлен на 100%, после того как я изменил на height: auto в моем print.css, это сработало.

@media print {
  body {
    height: auto;
  }
}
4 голосов
/ 16 марта 2017

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

Если плавающий элемент проходит за нижнюю часть печатной страницы, остальная часть плавающего элемента эффективно исчезнет, ​​так как не будет напечатанана следующей странице.

Поскольку у меня большой плавучий контейнер, я решил попробовать.Итак, я сделал смесь из других ответов и этой статьи и придумал следующее:

body { 
    overflow: visible !important; 
    overflow-x: visible !important; 
    overflow-y: visible !important; 
}

/*this is because I use angular and have this particular layout*/
body > .fade-ng-cloak { 
    height: 100%; 
    display: block;
    flex: none;
    float: none;
}
.l-content,
.l-sidebar {
    float: none;
}

В общем:

  1. Настройка тела на overflow: visible
  2. Установка элементов, которые ведут себя как оболочки, на display: block, устранение всех стилей flex и сброс высоты при необходимости
  3. Устранение float на длинных контейнерах

Этот микс работал для меня!Я так счастлив, что думал, что поделюсь:)

4 голосов
/ 06 января 2011

Давняя ошибка с печатью абсолютно позиционированных элементов была исправлена ​​в Firefox 3.

Проблемы с отсутствующими страницами отслеживаются в ошибка 521204 (просмотрите список «зависит от»). У вас есть рамки или длинные таблицы на странице, которую вы пытаетесь распечатать?

И да, печать в Firefox находится в недостаточной собственности, извините, вы должны с этим справиться ...

2 голосов
/ 28 июня 2018

для меня (bootstrap 4) решение было

@media print {
    .row {
      display: block;
    }
}
1 голос
/ 04 сентября 2018

у меня работает следующее.

@media print {
  .field--body table tr {
    display: table-row-group !important;
  }
}
1 голос
/ 06 января 2011

Если вы не можете преодолеть ограничения Firefox на печать, вы можете преобразовать страницу в PDF. Если вы выберете эту опцию, Prince XML - это библиотека, которую я очень рекомендую. Он имеет очень хорошую поддержку CSS, включая печатные СМИ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...