2009-04-28 4 views
4

Как я могу кодировать стиль CSS, чтобы принудительно использовать определенные поля страницы для печати при печати и быть действительными для IE и Firefox?Форматирование CSS A4 печать

ответ

4

Используйте тип печати «печать» (печать @media).

Не устанавливайте фиксированную ширину и максимальную ширину. Сделайте вместо этого содержимое. Если вы укажете любое значение с (px, em, pt, cm), вы всегда будете сталкиваться с одной или другой проблемой, потому что разные браузеры добавляют разные поля.

A4, letter, A3, это не ваша забота. Вашему документу все равно. Пользователь может распечатать документ на любой бумаге, которую он имеет, потому что ваш контент является текучим.

Find some tips about css for print here.

+1

Во многих случаях мы заботимся о размере страницы, поскольку страница/нижний колонтитул страницы и связанная с ней реализация CSS по-прежнему являются WIP в течение многих лет. Нет стандарта для хорошо отформатированного HTML-документа, кроме PDF-файла на стороне сервера. –

+0

Я согласен с Деннисом. Иногда ваш клиент просто хочет распечатать лист бумаги A4. Вы просто задаете свои размеры, как в этом ответе: http://stackoverflow.com/a/16650459/291557. Надеюсь, вы не скажете своему клиенту: «Понимаете, в CSS этот документ не заботится о размере. Он просто течет, даже если строки ломаются, а вещи разбиваются по страницам. Мы разрабатываем универсальные размеры». –

0

Один из способов заключается в использовании SVG вместо. С SVG, вы можете использовать что-то вроде этого:

<svg width="19cm" height="26.5cm" viewBox="0 0 1900 2650" xmlns="http://www.w3.org/2000/svg" version="1.2"> 

Тогда вы просто убедиться, что все ваши элементы находятся в пределах вашей точки зрения 1900x2650.

К сожалению, это связано с «воссозданием» вашей страницы в SVG, что является довольно неудобством. Однако, похоже, это необходимо. HTML & Решения CSS не могут гарантировать, что содержимое не будет перетекать на несколько страниц, на которых вы предназначались, чтобы это была одна страница.

Смежные вопросы