Estoy utilizando una hoja de estilo separada para la impresión. ¿Es posible establecer el margen derecho e izquierdo en la hoja de estilo que establece el margen de impresión (es decir, el margen en el papel).
Gracias.
Debe utilizar cm
o mm
como unidad cuando especifique para la impresión. El uso de píxeles hará que el navegador lo traduzca a algo similar a lo que se ve en la pantalla. Usar cm
o mm
asegurará un tamaño consistente en el papel.
body
{
margin: 25mm 25mm 25mm 25mm;
}
Para los tamaños de fuente, utilice pt
para el medio de impresión.
Tenga en cuenta que establecer el margen en el cuerpo en el estilo css no ajustará el margen en el controlador de la impresora que define el área imprimible de la misma, o el margen controlado por el navegador (puede ser ajustable en la vista previa de impresión en algunos navegadores)... Sólo ajustará el margen en el documento dentro del área imprimible.
También debe tener en cuenta que IE7++ ajusta automáticamente el tamaño para que se ajuste mejor, y hace que todo sea incorrecto incluso si se utiliza cm
o mm
. Para anular este comportamiento, el usuario debe seleccionar 'Vista previa de impresión' y luego establecer el tamaño de impresión al 100%
(por defecto es Shrink To Fit
).
Una mejor opción para el control total de los márgenes impresos es utilizar la directiva @page
para establecer el margen del papel, que afectará al margen en el papel fuera del elemento html body, que normalmente es controlado por el navegador. Véase http://www.w3.org/TR/1998/REC-CSS2-19980512/page.html.
Esto funciona actualmente en todos los principales navegadores, excepto en Safari.
En Internet explorer, el margen se establece realmente en este valor en la configuración de esta impresión, y si se hace la Vista Previa se obtendrá esto por defecto, pero el usuario puede cambiarlo en la vista previa.
@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;
}
Respuesta relacionada: [¿Desactivar las opciones de impresión del navegador (encabezados, pies de página, márgenes) de la página?
Personalmente, sugeriría que se utilizara una unidad de medida diferente a la de px
. No creo que los píxeles tengan mucha relevancia en términos de impresión; lo ideal sería utilizar:
Estoy seguro de que hay otros, y un excelente artículo sobre print-css se puede encontrar aquí: Going to Print, por Eric Meyer.
Si conoces el tamaño de papel objetivo, puedes colocar tu contenido en un DIV con ese tamaño específico y añadir un margen a ese DIV para simular el margen de impresión. Desafortunadamente, no creo que tengas un control extra sobre la funcionalidad de impresión aparte de mostrar el cuadro de diálogo de impresión.