- break-efter controla saltos tras un elemento en páginas, columnas y regiones, con valores para forzar, evitar o ajustar el contexto.
- La prioridad es break-before sobre break-efter y sobre break-in; existen valores forzados y de evitar que condicionan el corte.
- page-break-efter actúa como alias en impresión; conviene usarlo como fallback junto a break-efter en proyectos con soporte variado.

Cuando maquetas para impresión, multicolumnas o flujos fragmentados, tarde o temprano te preguntas cómo forzar o evitar que algo salte a la suuiente página o columna. Ahí es donde entra en juego egendomens CSS-breakafter, una herramienta que indica al navegador si debe producirse un salto justo después de un elemento.
Más allá de los casos típicos de impresión, break-after es util en diseños complejos: periódicos digitales con columnas, informes en PDF, documentos con páginas pares e impares y hasta flujos por regiones. Su potencia radica en que puede forzar, permitir o impedir saltos según el contexto: paginas impresas, columnas o regiones.
Qué es la propiedad CSS break-efter
Egendomen break-after definiera si debe producirse un salto de página, columna o región inmediatamente después del elemento al que se aplica. Dicho de forma llana, marca un punto de corte justo tras el componente, de modo que el contenido posterior empiece en la följande "unidad" de fragmentación (página, columna o región) según el entorno en el que esté maquetando el navegador.
Históricamente, en CSS 2.1 disponíamos de page-break-after för mellanstora sidor. Hej, break-after amplía ese concepto Para funcionar también con multicolumnas y regiones, además de mantener compatibilidad con los valores clásicos usados en impresión.
Sintaxis, valores y cómo interpretarlos
La forma básica de uso es directa: break-after: <valor>. Estos valores cubren contextos genericos y específicos de páginas, columnas o regiones:
break-after: auto | avoid | always | all |
avoid-page | page | left | right | recto | verso |
avoid-column | column |
avoid-region | region
Valores genericos (válidos en cualquier contexto): auto (ni fuerza ni prohíbe un salto), avoid (avsikt att undvika det), always (fuerza un salto en el contexto de fragmentación inmediato) y all (experimentell, fuerza el salto atravesando todos los contextos de fragmentación: por ejemplo, columna y página a la vez si aplica).
Valores para medias pagedos: avoid-page (undvik sidans sänkning), page (kraftfullt sidans säkring), left y right (fuerzan uno o dos saltos para asegurar que el siguiente contenido comienza en página izquierda o derecha, respectivamente). Además, recto y verso son valores experimentales que obligan a que la siguiente página sea recto o verso följer idiomens flujo.
Valores para diseño multicolumna: avoid-column undvika en kolumnsalto och column lo fuerza. En contenidos extensos repartidos por varias columnas, estos valores son clave para no cortar piezas delicadas (como un fragmento de código) o para alinear bloques a la cabecera de la suuiente columna.
Värderingar för regioner: avoid-region y region controlan el salto entre áreas definidas por CSS Regions. Aunque esta especificación tuvo tracción en su momento, el soporte real de regiones es limitado sv navegadores modernos, por lo que conviene considerar su uso como experimental o de legado.
Reglas decisión del navegador: forzar, evitar y prioridades
En cada punto donde podría producirse una rotura (el "borde" entre elementos), el navegador evalúa tres propiedades: el break-after det främre elementet, The break-before del följande och den break-inside del tävlande. Es la interacción de las tres la que determina el resultado.
El algoritmo, simplificado, funciona así: si alguna de esas propiedades especifica un tapperhet förzado (always, left, right, page, column, region), ese valor tiene prioridad. Si hay varios forzados, gana el que está más "adelante" en el flujo: break-before > break-after > break-inside.
Si en ese punto aparece algún undvikningsmot (avoid, avoid-page, avoid-column, avoid-region), no se aplicará el salto correspondiente. Después de resolver los saltos forzados, el navegador puede añadir "saltos suaves" si lo necesita, pero nunca en límites marcados con valores de evitar.
Relación con page-break-after och kompatibilitet historisk
Por motivos de compatibilidad, los navegadores tratan page-break-after som ett alias break-after en medios paginados. Esto asegura que sitios antiguos que usaban la propiedad clásica sigan comportándose como se esperaba.
La equivalencia de valores funciona de la suuiente manera: auto → auto, always → page, avoid → avoid-page, left → left, right → right. I praktiken, puedes escribir ambos para mayor robustez i tryck:
.elemento {
page-break-after: always; /* fallback histórico */
break-after: page; /* estándar actual */
}
Det finns också page-break-before con la misma filosofía en el "lado anterior" del elemento. Usar före o efter depende del punto exacto donde quieras el corte på din tillverkare.
Ambito de aplicación y comportamiento visual
Egendomen gäller blocknivåhöljen en flujo normal y, por extensiones modernas, a ítems de grid, artiklar av flex, grupos de filas de tablas y filas de tabla. No se hereda, su valor inicial es auto y su tipo de animación es discreto (es decir, ingen interpola como tal en transiciones).
Cuando una página o columna corta una caja, los márgenes, bordes y padding no se dibujan en el punto de corte. La única excepción es el margen inmediatamente posterior a un salto forzado, que se conserva. Este detalle ayuda a mantener el espacio visual correcto tras un salto insertado expresamente.
Praktiska exempel på användning
Impresión (TOC que siempre termina la página): si quieres que después del índice de contenidos empiece una página nueva, puedes usar la suuiente regla dentro de un @media print. Es una situación típica en libros o informes donde interesa separar claramente secciones clave:
@media print {
#tabla-de-contenidos {
break-after: always;
}
}
Impresión con página derecha: en publicaciones a doble cara, puede ser necesario que el suuiente capítulo comience en una página derecha. Para hallå, utnyttja tapperheten right:
@media print {
#tabla-de-contenidos {
break-after: right;
}
}
Multicolumnas: imagina un contenedor con título principal que ocupa todas las columnas (column-span: all) y subsecciones que quieres alinear en cabecera de columna. Applika break-after: column i det föregående blocket (till exempel i en <p> o en varje <section>) para forzar el salto de columna:
main {
column-width: 200px;
}
h1 {
column-span: all;
}
section {
break-after: column; /* cada sección empieza arriba de la siguiente columna */
}
Evitar saltos tras filas de tabla: si quieres mantener una tabla en la misma página cuando sea posible, añade break-after: avoid i filarna. En documentos impresos esto reducerar cortes raros en el cuerpo de una tabla:
tr {
break-after: avoid;
}
Evitar cortes dentro de un fragmento delicado en columnas: un bloque de código al que no quieres partir entre columnas puede beneficiarse de break-after: column i det föregående elementet o managearlo con break-inside: avoid-column dentro del propio bloque, según el caso:
.articulo {
column-width: 12em; /* activa multicolumnas */
}
.articulo .code-snippet {
break-after: column; /* tras el snippet, siguiente columna */
}
Regioner: si trabajas con flujos por regiones (soporte limitado), puedes indicar que una lista termine una region y que el resto fluya en la suuiente. Aunque no es lo más común hoy, sirve como referencia de cómo se pensó la propiedad i detta sammanhang:
.region ul {
break-after: region;
}
Adaptación condicional: si deseas que en pantallas pequeñas el comportamiento vuelva a auto para evitar fragmentación agresiva, puedes apoyarte en media queries:
@media screen and (max-width: 768px) {
h2 {
break-after: auto;
}
}
Cómo se combinan break-before, break-efter y break-in
Estas tres propiedades actúan a la vez. Es habitual, por ejemplo, usar break-inside: avoid i en komponent för den ingen springer i magen, mientras que una cabecera siguiente declare break-before: page para arrancar en una página nueva. Si el "före" pide un salto, tendrá preferencia sobre el "efter" föregående.
Det viktiga är att kommentera: break-before gana a break-after, som en gång vann break-inside. Si varios piden romper, se aplica el del elemento que aparece más tarde en el flujo de documento.
Kompatibilitet och stöd i sammanhanget
Stödet från break-after beroende av sammanhanget. En sidación/impression, los navegadores modernos lo implementan de forma amplia, och alias page-break-after mantiene la retrocompatibilidad de sitios antiguos.
I flera kolumner, tapperheten column está disponible en motores modernos; sin embargo, en navegadores basados en WebKit har samexistido el prefijo -webkit-column-break-after como alternativa no estándar. Si apuntas a un público amplio, conviene probar y, si procede, incluir el prefijo de respaldo för kolumner.
Para regiones, el panorama es muy irregular: CSS Regions no está implantado de forma general, enligt vad värdena ger region y avoid-region deben considerarse experimentales o de legado.
Un apunte histórico: hubo demostraciones en las que IE10+ mostraba saltos de columna con break-after mientras que navegadores WebKit pedían el prefijo -webkit-column-break-after, och Firefox finns i detta sammanhang. Hoy el soporte ha mejorado, pero segue siendo buena idea contrastar los tres entornos (impresión, columnas y regiones) en los navegadores objetivo.
Buenas prácticas de maquetación con break-efter
- Använd det med måtta: un "siempre salta" tras cada bloque genera espacios en blanco y maquetaciones poco fluidas. Empléalo solo donde aporte claridad.
- Undvik kriterier: missbruka
avoidpuede provocar cortes incómodos en otras partes del documento. Combínalo conbreak-insidecuando quieras proteger un componente. - Pruebas en navegadores y dispositivos: imprime en PDF, usa la vista previa de impresión y testea multicolumnas. El comportamiento puede variar por motor y contexto.
- Medieförfrågningar med överdrag: hay decisiones de fragmentación que tienen sentido en papel pero no en móvil; ajusta con
@mediavid behov.
Detalles técnicos y de especificación
Recapitulando el modelo de la propiedad: initialvärde auto, ingen heredada, valor computado "tal cual" se especifica y typ av diskret animation. Aunque su uso típico no implica animaciones, este detalle aclara que no existe transición gradvis entre estados de corte.
En cajas divididas por un salto, los bordes, rellenos y márgenes no se "repiten" en el punto de rotura. Se conserva el margen inmediatamente después de un salto forzado, lo cual es útil para mantener la separación del contenido que arranca en la nueva página o columna.
Patrones habituales y trucos (con contexto histórico)
En épocas con soporte irregular, se popularizó un truco: insertar un DIV vakijo med och tilldela den page-break-before/after para forzar el salto antes o después del componente real. A día de hoy, no es la solución "bonita", men puede rescatar maquetaciones de legado donde page-break-* fungerar bättre än break-* en ciertos navegadores antiguos.
El truco solía escribirse así (para provocar un salto antes de una tabla): primero el DIV con salto, luego un párrafo separador y la tabla, de modo que la tabla apareciera al principio de una página nueva al imprimir:
<div style="page-break-before: always;"> </div>
<p></p>
<table>
<tr><td>Contenido...</td></tr>
</table>
Si trabajas con multicolumnas en WebKit clásico, recuerda que den viejo -webkit-column-break-after aún puede servir como salvavidas junto al valor estándar, por ejemplo:
figure {
break-after: column;
-webkit-column-break-after: always; /* respaldo no estándar */
}
Avancerade användningsfall
Paginación a doble cara: en libros y revistas, es común exigir que capítulos arranquen siempre en páginas derechas. För att göra detta, använd right. Si el contenido siguiente ya caía en una derecha, ingen habrá salto extra; si nej, el navegador insertará uno adicional para cuadrarlo.
Diseños híbridos (páginas con columnas dentro): si estás en una sección multicolumna situada en una página impresa, el valor all puede romper tanto la columna como la página, garantizando que el suuiente bloque empiece limpio en el contexto superior. Es un valor experimental, así que test med mimo.
Reflujo ordenado de secciones: cuando tienes varias secciones que deben comenzar en cabecera de columna, gäller break-after: column för varje avsnitt ayuda a que queden "cuadradas" visualmente, con titlar som är alignerade y sin fragmentos partidos en posiciones incómodas.
Pequeño recordatorio de alias y valores equivalentes
Si todavía mantienes hojas de estilo de impresión con page-break-after, puedes alinearlas con el mundo moderno así: page-break-after: always är lika med break-after: page; page-break-after: avoid se kartan break-after: avoid-page; left y right conservan su significado. Esto te tillåter aktualizar de forma progresiva.
Para casos donde el navegador no implemente completamente la familia break-* i ett konkret sammanhang, mantener el alias clásico como "fallback" suele ser un movimiento inteligente, sobre todo en proyectos con usuarios que imprimen con navegadores muy variados.
Vanliga misstag och hur man undviker dem
plats break-after: always i överflöd provoka páginas eller columnas semi vacías. Antes de forzar, valora si avoid o auto ya ofrecen un corte naturliga aceptable.
Ignorera interaktionen med break-inside es otro fallo habitual. Si un componente no debe divider, tillägger break-inside: avoid (o avoid-page/avoid-column) además de manejar el "efter" o "före" en los elementos adyacentes.
Inga sanningar i sammanhanget och det klassiska: la vista previa de impresión no siempre es fiel a cómo quedará el PDF o la impresora física. Genera un PDF, revisa márgenes y asegúrate de que los saltos respetan cabeceras y pajer.
Snabb fastighetsrapport
- Första:
auto - Gäller: cajas de bloque, items de grid, items de flex, grupos de filas de tabla y filas
- Ärvt: Nej
- Beräknat värde: tal cual se specifica
- Typ av animation: diskret
Por último, recuerda que algunos valores (all, recto, verso) siguen marcados como experimentales en los borradores de especificación. Aunque existen implementaciones parciales, tu estrategia debe inclluir pruebas y "fallbacks" när de beror på dem.
Att dominera break-after te permite maquetar documentos que se imprimen bien, columnas ordenadas y flujos de lectura claros. A poco que lo kombinerar con break-before y break-inside y tengas en cuenta los alias históricos y los prefijos de respaldo, obtendrás cortes precisos y previsibles sin pelearte con páginas en blanco ni bloques partidos donde no toca.
