Estoy intentando que Google Chrome haga saltos de página.
Me han dicho a través de un montón de sitios web que page-break-after: always;
es válido en Chrome, pero parece que no puedo hacer que funcione incluso con un ejemplo muy simple. ¿Hay alguna forma de forzar un salto de página al imprimir en Chrome?
css
printing
google-chrome
Mike Valstar
fuente
fuente
Respuestas:
He utilizado el siguiente enfoque con éxito en todos los principales navegadores, incluido Chrome:
Este es un ejemplo simplificado. En el código real, cada div de página contiene muchos más elementos.
fuente
position: relative
.break-after
y sebreak-before
aplica solo ablock-level elements, table row groups, table rows (but see prose)
: drafts.csswg.org/css-break-3/#break-between - eso significa que no hay flotadores ni trucos de posicionamiento sofisticados.En realidad, falta un detalle en la respuesta que se selecciona como aceptada (de Phil Ross) ...
que HACE trabajo en Chrome, y la solución es realmente tonto !!
Tanto el elemento principal como el elemento en el que desea controlar el salto de página deben declararse como:
mira este violín: http://jsfiddle.net/petersphilo/QCvA5/5/show/
Esto es cierto para:
Sin embargo, controlar el salto de página dentro de Safari no funciona (en 5.1.7, al menos)
¡¡¡espero que esto ayude!!!
PD: La pregunta a continuación planteó el hecho de que las versiones recientes de Chrome ya no respetan esto, incluso con la posición: relativo; truco. Sin embargo, parecen respetar:
ver este violín: http://jsfiddle.net/petersphilo/QCvA5/23/show
así que supongo que tenemos que agregar eso ahora ...
¡Espero que esto ayude!
fuente
page-break-inside
. ¿Alguna ayuda?<h7 class="page-breaker" style="display: block;position: relative;page-break-before:always">Grade <?php echo $grade;?></h7>
Solo quería señalar aquí que Chrome también ignora la configuración de salto de página- * css en divs que se han flotado.
Sospecho que hay una justificación sólida para esto en algún lugar de la especificación css, pero pensé que notar que podría ayudar a alguien algún día ;-)
Solo otra nota: IE7 no puede reconocer la configuración de salto de página sin una altura explícita en el elemento de bloque anterior:
http://social.msdn.microsoft.com/forums/en-US/iewebdevelopment/thread/fe523ec6-2f01-41df-a31d-9ba93f21787b/
fuente
Tuve un problema similar a este, pero finalmente encontré la solución. Tenía overflow-x: hidden; aplicado a la etiqueta <html>, por lo que no importa lo que hice a continuación en el DOM, nunca permitiría saltos de página. Volviendo a overflow-x: visible; funcionó bien.
Espero que esto ayude a alguien.
fuente
* { overflow-x: visible }
.Yo mismo tengo este problema: mis saltos de página funcionan en todos los navegadores menos en Chrome, y pude aislarlo hasta el elemento page-break-after que está dentro de una celda de tabla. (Plantillas antiguas heredadas en el CMS).
Aparentemente, Chrome no respeta las propiedades page-break-before o page-break-after dentro de las celdas de la tabla, por lo que esta versión modificada del ejemplo de Phil coloca el segundo y tercer título en la misma página:
La implementación de Chrome está (dudosamente) permitida dada la especificación CSS; puede ver más aquí: http://www.google.com/support/forum/p/Chrome/thread?tid=32f9d9629d6f6789&hl=en
fuente
Tenga cuidado con CSS:
display:inline-block
al imprimir.Ninguna de las propiedades CCS para ir a la página siguiente funcionaría para mí en Chrome y Firefox si mi tabla estuviera dentro de un div con el estilo
display:inline-block
Por ejemplo, lo siguiente no funciona:
Pero el siguiente trabajo:
fuente
display: flex
Me enfrenté a este problema en Chrome antes y la causa es que había un div con altura mínima establecida en un valor. La solución fue restablecer la altura mínima durante la impresión de la siguiente manera:
fuente
Actualización de 2016:
Bueno, tengo este problema, cuando tuve
en mi div.
Después de que hice
todo se volvió bien y perfecto
fuente
Si está usando Chrome con Bootstrap Css, las clases que controlan el diseño de la cuadrícula, por ejemplo, col-xs-12, etc., usan "float: left" que, como otros han señalado, arruina los saltos de página. Elimínelos de su página para imprimir. Funcionó para mí. (En la versión de Chrome = 49.0.2623.87)
fuente
Tiene ese problema. Ha pasado tanto tiempo ... Sin campos laterales de la página es normal, pero cuando aparecen los campos, la página y el "espacio de salto de página" se escalarán. Entonces, con un campo normal, dentro de un documento, se mostró incorrecto. Lo arreglo con set
y use
Úselo en la primera línea.
fuente
Hasta donde yo sé, la única forma de obtener los saltos de página correctos en las tablas con Google Chrome es dándole al elemento
<tr>
la propiedad display: inline-table (o display: inline-block pero encaja mejor en otros casos que no son tablas ). También deben usarse las propiedades "page-break-after: always; page-break-inside: evitar;" escrito por @Phil Rossfuente
Funcionó para mí cuando usé relleno como:
fuente