Мое приложение генерирует печатные отчеты, создавая невидимый iframe, а затем печатает его. Мой последний в удручающе длинном списке проблем, которые я пытаюсь решить, - это оптимизация CSS для разных печатных размеров страниц. IE9 кажется, чтобы немного поработать (но имеет и другие проблемы, такие как игнорирование @page {margin: ...}), но не удача вообще в FF или Chrome.Обнаружение печатного размера страницы с помощью запросов в формате CSS
Мой код выглядит следующим образом:
@media print and (width: 210mm) and (height: 297mm) {
... stuff for A4 size ...
}
@media print and (width: 8.5in) and (height: 11in) {
... stuff for US letter size ...
}
Ни одно из этих правил подкрепляются, когда-либо, в Chrome или FF. Я также пробовал ширину устройства и высоту устройства, и они тоже не работали (они, казалось, сообщали об абсолютных максимальных размерах принтера, а не о размере страницы). Я не могу понять, какое значение «ширина» и «высота» возвращаются, есть ли способ рассказать?
Есть ли надежный способ определения размера печатной страницы с использованием мультимедийных запросов? Я довольно близок к заключению, что есть просто no способ управлять печатью любым способом в браузерах и бросать в него полотенце.
Интересно, есть ли проблемы с точной шириной/высотой. Вы пытались изменить его на что-то вроде 'max-width' или' min-height'? – redbmk
Просто попробовал, не пошел. Рассмотрим: '
<тип стиль = "текст/CSS"> @media (мин-ширина: 8in) { тело {начертание шрифта: жирный; } } @media (min-width: 10.5in) { body {font-style: italic; } } здесь некий текст тела ' Здесь CSS срабатывает, как изменить размер окна, но когда я иду не печатать ничего триггерами больше (проверено в Chrome). – neilw