¿Cómo se supone que funcionan las propiedades de salto de página en CSS?
Pregunta
Los navegadores modernos son se supone que admite las propiedades de salto de página CSS hasta cierto punto. Sin embargo, no he podido hacer que ningún navegador imprima de manera diferente cuando uso evitar
, viudas
o huérfanos
. ¿Lo estoy haciendo mal o el soporte del navegador no es tan sólido como se anuncia?
h2 {
page-break-after: avoid;
}
p {
page-break-inside: avoid;
orphans: 2;
widows: 2;
}
Solución
Soporte de navegador para imprimir apesta. No solo un poquito, sino completamente totalmente y sin comparación. Aproximadamente una vez cada dos años (durante los últimos 10), he jugado con esto y siempre vuelvo a la misma conclusión: no dependa del navegador para poder manejar una buena impresión.
Si se debe colocar correctamente, cree un archivo pdf sobre la marcha y deje que el usuario lo imprima.
Otros consejos
Si desea hacer un salto de página, sé que esta es la forma en que funciona al menos en Firefox e IE. La última vez que revisé esto funcionó en IE7.
Page 1
<br style="page-break-after:always" />
Page 2
Se debería imprimir las páginas en hojas de papel separadas, dependiendo totalmente del navegador.
Sé que esto irá en contra de todo lo que todos dicen sobre el desarrollo de HTML, pero use tablas . Coloque el contenido que necesita permanecer unido en una tabla, y luego la página no se dividirá en el medio de la tabla. Si la tabla es más larga que una página, se dividirá en algún lugar en el medio de la tabla, pero usar tablas es una buena manera de mantener el contenido unido durante la impresión.