Firefox печатает только 1-ю страницу
Я работаю над удобным для печати css для веб-сайта. Он отлично просматривает / печатает в IE, но Firefox (версия 3.6) только просматривает/печатает 1-ю страницу.
Знает ли кто-нибудь о чем-либо, что обычно вызывает это? Разметка довольно сложная, поэтому я не знаю, с чего начать!
Спасибо.
Edit
Это решение только ухудшило ситуацию.
Https://support.mozilla.com/ga-IE/questions/667285#answer-115916
Выглядит так: печать просто засасывает FF. Клиенту не понравится это слышать-надеюсь, они не используют FF!
13 ответов:
В Firefox 3 была исправлена давняя ошибкас печатью абсолютно позиционированных элементов .
Проблемы с недостающими страницами отслеживаются в bug 521204 (просмотрите список "зависит от"). Есть ли у вас рамки или длинные таблицы на странице, которую вы пытаетесь напечатать?
И да, печать в Firefox является неполной собственностью, жаль, что вам приходится иметь с ней дело...
Я только что узнал, что из элемента с
Напечатана только первая страница, а все остальное скрыто. установка этого значения вdisplay:inline-block;display:block;Было решением в моем случае.
Если вы не хотите проходить через весь ваш код, это единственная вещь, которую я нашел, которая работает для меня, не испортив все мои другие CSS:
@media print { body { overflow: visible !important; } }
У меня была та же проблема. Оказывается, корневой тег имел
display: flexна нем. После изменения этого значения наdisplay: block, остальное содержимое было отображено. Я бы рекомендовал подняться по вашему дереву DOM и проверить каждый атрибутdisplay.
Я перепробовал дюжину исправлений для этого, и, в конце концов, все, что мне было нужно, это:
@media print { body { display: block; } }
У меня была та же проблема, потому что
heightизbodyустановлено в100%, после того, как я модифицировал вheight: autoв моемprint.css, это сработало.@media print { body { height: auto; } }
После многих исследований и проб и ошибок я нашел эту статью по списку отдельно. Я был настроен скептически, потому что он такой старый, но в нем говорится, что:
Поскольку у меня есть большой плавучий контейнер, я решил попробовать. Итак, я сделал микс из других ответов и этой статьи и придумал это:Если плавающий элемент проходит мимо нижней части печатной страницы, остальная часть плавающего элемента фактически исчезнет, так как он не будет напечатан на следующей странице.
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; }Итак, в основном:
Эта смесь сработала на меня! Я так счастлива, что решила поделиться :)
- установка тела в
overflow: visible- установка элементов, которые ведут себя как обертки для
display: block, устранение всех стилейflexи сброс высоты при необходимости- исключить
floatна длинных контейнерах
Если вы не можете преодолеть ограничения Firefox на печать, вы можете преобразовать страницу в PDF. Если вы готовы к этому варианту, Prince XML - это библиотека, которую я настоятельно рекомендую. Он имеет очень хорошую поддержку CSS, включая печатные носители.
Firefox, конечно, не отстой в любом отношении. Однако иногда он придерживается более строгих стандартов, чем другие браузеры. Короче говоря, у меня была та же проблема, т. е. firefox печатал (также просматривал) только первые 2 страницы многостраничного отчета, построенного с помощью длинной таблицы, созданной моей веб-страницей. После некоторой отладки я обнаружил, что включил Большую часть содержимого отчета в элемент span со стилем {display: inline-block;} среди прочего вещи. Как только я удалил, что пагинация была совершенной...
У меня была та же проблема, и Я заменил позицию с
position:relativeнаposition: absoluteсheight: 100%сверху вниз.
Я попытался добавить
@media print, как было предложено в этом ответе в качестве определенияstyleк элементу<body>страницы, но Firefox (60.0 (64-бит), Windows 7 64/Pro) все еще усекал распечатку веб-сайта только на первой странице.Затем я случайно заметил флажок под названием упрощение страницы в верхней части экрана предварительного просмотра Firefox:
Когда я поставил этот флажок, Firefox удалил некоторые стили, но экран предварительного просмотра обновился до включите все страницы на веб-сайте!
Я не уверен, насколько широко применимо это так YMMV, но попробовать стоит! До сих пор я не нашел аналогичного решения для Chrome (версия 65.0.3325.162 (официальная сборка) (64-бит)).
P.S.: по дальнейшему опыту я вижу, что упрощение страницы удаляет не только стиль, но и некоторые целые элементы, такие как примеры разделов кода, поэтому обязательно внимательно просмотрите результаты перед печатью.
Для меня работает следующее.
@media print { .field--body table tr { display: table-row-group !important; } }

Comments