Подтвердить что ты не робот

Safari Print Media Запросы, не соответствующие другим браузерам/отключение

У меня есть веб-приложение, которое отлично выглядит при отображении в Safari, но запросы на печать не соблюдаются браузером. В Chrome вся область для печати выглядит отлично, однако в Safari она представляет собой лишь некоторую вариацию видимого контента.

При прокрутке страницы заголовок или верхняя область обрезаются, при печати выше на странице снизу снижается.

Я попробовал следующее для запросов на печать (без эффекта) -

  • Настройка min-height
  • Установка любого изменения значения height на контейнере
  • Уменьшение и печать
  • Изменение разрешения/масштабирования

Ничто не оказывает никакого эффекта.

В отличие от Chrome, я не могу найти способ отладки, почему это происходит, и способ отладки самих стилей печати. ​​

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

4b9b3361

Ответ 1

У меня нет ответов на этот вопрос после того, как он указал на проблему в комментариях выше и упомянул, что это была бесплатная награда. К сожалению, я бы очень хотел отдать щедрость, чтобы любой, кто пересказывает это до истечения срока, может иметь его -

Проблема заключалась в том, что приложение, которое я использую, представляет собой приложение JavaScript, которое запускает и создает тело страницы, высота которой составляет всего 400 пикселей. После визуализации тела есть отдельный модальный диалог загрузки, который показывался с контентом для печати, и все CSS были хорошими, а медиа-запросы были хорошими, но контент модалов был больше, чем тело.

После проверки кажется, что Safari (и, вероятно, другие браузеры) не учитывали высоту диалогов при расчете высоты тела.

Chrome и Firefox были в порядке с этим, потому что он печатал весь видимый контент, но в Safari он печатает только контент, который высок как тело, что в данном случае составляет около 30% от модального. Путем ручного запуска тела min-height: 1200px; он разрешил проблему, так как это была максимально возможная высота содержимого диалогового окна Bootstrap Modal.

Ответ 2

В прошлом у меня было много проблем с кросс-браузерами. Что помогает при регулировании визуального изображения, задается фиксированный размер страницы и html/body.

Например:

@media print {
    @page {
        size: 1600px;
    }

    body,
    html {
        width: 1600px;
    }
}