Ответ 1
Вы должны использовать cm
или mm
как единицу, если вы укажете для печати. Использование пикселей приведет к тому, что браузер переведет его на нечто похожее на то, как он выглядит на экране. Использование cm
или mm
обеспечит согласованный размер бумаги.
body
{
margin: 25mm 25mm 25mm 25mm;
}
Для размеров шрифтов используйте pt
для печатного носителя.
Обратите внимание, что установка поля на куске в стиле css будет не регулировать маржу в драйвере принтера, который определяет область печати на принтере, или маржу, контролируемую браузером (может регулироваться в предварительный просмотр в некоторых браузерах)... Он просто установит маркер в документе внутри области печати.
Вы также должны знать, что IE7 ++ автоматически настраивает размер, который лучше всего подходит, и вызывает все неправильное, даже если вы используете cm
или mm
. Чтобы отменить это поведение, пользователь должен выбрать "Предварительный просмотр печати", а затем установить размер печати 100%
(по умолчанию - Shrink To Fit
).
Лучшим вариантом полного контроля над печатными полями является использование директивы @page
для установки поля бумаги, что повлияет на маржу на бумаге вне элемента тела html, который обычно контролируется браузером. См. http://www.w3.org/TR/1998/REC-CSS2-19980512/page.html.
В настоящее время это работает во всех основных браузерах, кроме Safari.
В Internet explorer значение по умолчанию для этого значения задано в настройках этой печати, и если вы сделаете предварительный просмотр, вы получите это как значение по умолчанию, но пользователь может изменить его в предварительном просмотре.
@page
{
size: auto; /* auto is the initial value */
/* this affects the margin in the printer settings */
margin: 25mm 25mm 25mm 25mm;
}
body
{
/* this affects the margin on the content before sending to printer */
margin: 0px;
}
Связанный ответ: Отключение параметров печати браузера (верхние и нижние колонтитулы, поля) со страницы?