- break-after controla saltos tras un elemento en paginas, columnas y regiones, con valores para forzar, evitar eller 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.
- sideskift-efter actúa como alias en impresión; conviene usarlo como fallback junto a break-after en proyectos con soporte variado.

Cuando maquetas para impresión, multicolumnas eller flujos fragmentados, tarde eller temprano te preguntas cómo forzar o evitar que algo salt a la suuiente página o columna. Ahí es donde entra en juego egenskabens CSS break-after, 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 outil en diseños complejos: periódicos digitales con columnas, informerer 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 kontekst: paginas impresas, columnas eller regioner.
Qué es la propiedad CSS break-after
Ejendommen break-after definere 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 suuiente "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 til mellemstore sider. 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 como 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 (intenta evitarlo) always (fuerza un salto en el contexto de fragmentación inmediato) y all (eksperimentel, 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 (undgå sidesalto) page (kraft sidesandwich) 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 søn valores experimentales que obligan a que la siguiente página sea recto o verso følger sprogets flue.
Valores for diseño multicolumna: avoid-column undgå en søjlesalto og column lo fuerza. En contenidos extensos repartidos por varias columnas, estos valores søn clave para no cortar piezas delicadas (como un fragmento de código) o para alineære bloques a la cabecera de la suuiente columna.
Værdier for 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 en 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 podria producer una rotura (el "borde" entre elementos), el navegador evalúa tres propiedades: el break-after det forreste element, The break-before den følgende og den break-inside del deltager. Es la interacción de las tres la que determina el resultado.
Al algoritmo, simplificado, funciona así: si alguna de esas propiedades especifica un tapperhed forzado (always, left, right, page, column, region), ese valor tiene prioridad. Si hø forskellige forzados, gana el que está más "adelante" en el flujo: break-before > break-after > break-inside.
Si en ese punto aparece algún undvigelsesmod (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 og kompatibilitet med historie
For kompatibilitetsmotiver, los navegadores tratan page-break-after som et 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 praksis, puedes escribir ambos para borgmester robustez i tryk:
.elemento {
page-break-after: always; /* fallback histórico */
break-after: page; /* estándar actual */
}
Der er også page-break-before con la misma filosofía en el "lado anterior" del elemento. Usar før o efter depende del punto exacto donde quieras el corte i din maskine.
Ambito de aplicacion og comportamiento visuel
Ejendommen gælder blokniveau-kabiner en flujo normal y, por extensiones modernas, a ítems de grid, varer af flex, grupos de filas de tablas og 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 eller 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.
Praktiske eksempler på brug
Impresión (TOC que siempre termina la página): Si quieres que después del indice 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 informerer 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 siguiente capítulo comience en una página derecha. Til hej, udnytte modet right:
@media print {
#tabla-de-contenidos {
break-after: right;
}
}
Multicolumnas: imagina un contenedor con título principal que occupa todas las columnas (column-span: all) y subsecciones que quieres alinear en cabecera de columna. Applika break-after: column i den forrige blok (for eksempel i en <p> o en hver <section>) til 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 filaerne. En documentos impresos esto reduce 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 foregående element o manage con break-inside: avoid-column dentro del propio bloque, sigú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 liste 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 denne kontekst:
.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;
}
}
Combinan break-before, break-efter y break-in
Estas tres propiedades actúan a la vez. Es habitual, por eksempel, usar break-inside: avoid i en komponent til den ikke kæmper for mit sind, mientras que una cabecera siguiente erklære break-before: page para arrancar en una página nueva. Si el "før" pide un salto, tendrá preferencia sobre el "efter" previo.
Prioriterede kommentarer er vigtige: break-before gana a break-after, som hun engang vandt break-inside. Si forskellige piden-romper, se aplica el del elemento que aparece más tarde en el flujo de documento.
Kompatibilitet og sammenhæng
Støtten fra break-after afhængig af kontekst. En sideción/indtryk, los navegadores modernos lo implementan de forma amplia, og alias page-break-after mantiene la retrocompatibilidad de sitios antiguos.
I flere kolonner, tapperheden column está disponible en motores modernos; sin embargo, en navegadores basados en WebKit har coexistido el prefijo -webkit-column-break-after como alternative no estándar. Si apuntas a un público amplio, conviene probar y, si procede, incluir el prefijo de respaldo til kolonner.
Para regiones, el panorama es muy irregular: CSS-regioner er ikke implanteret generelt, af hensyn til værdierne region y avoid-region deben considerarse experimentales o de legado.
Un apunte histórico: hubo demostraciones en las que IE10+ søjlesalter med break-after mientras que navegadores WebKit pedían el prefijo -webkit-column-break-after, og Firefox har vist sig i denne kontekst. Hoy el soporte ha mejorado, pero sigue siendo buena idea contrastar los tres entornos (impresión, columnas y regiones) en los navegadores objetivo.
Buenas prácticas de maquetación con break-after
- Brug det med måde: un "siempre salta" tras cada bloque genera espacios en blanco y maquetaciones poco fluidas. Empléalo solo donde aporte claridad.
- Undgå kriterier: misbruge
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.
- Mediehenvendelser med hoved: hay decisiones de fragmentación que tienen sentido en papel pero no en móvil; ajusta con
@medianår det er nødvendigt.
Detalles técnicos y de especificación
Recapitulando el modelo de la propiedad: startværdi auto, ingen heredada, valor computado "tal cual" se especifica y diskret animationstype. Aunque su uso típico no implica animaciones, este detaljer 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 vakuum med og tildel 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-* fungerer bedre end break-* en ciertos navegadores antiguos.
El truco solía escribirse así (for provocar un salto antes de una tabla): primero el DIV con salto, luego un parrafo 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 gamle by -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 */
}
Avancerede brugssager
Sideción a doble cara: en libros y revistas, es común exigir que capítulos arranquen siempre en páginas derechas. For at gøre dette skal du bruge 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 eksperimentel, así que prøve med mimo.
Reflujo ordenado de secciones: cuando tienes varias secciones que deben comenzar en cabecera de columna, anvende break-after: column for hvert afsnit ayuda a que queden "cuadradas" visualmente, con titler alineados arriba 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 lige med break-after: page; page-break-after: avoid se kortlægge break-after: avoid-page; left y right conservan su significado. Esto te tillade aktualisering af forma progresiva.
Para casos donde el navegador no implemente completamente la familia break-* i en konkret kontekst, mantener el alias clásico como "faldback" suele ser un movimiento inteligente, sobre todo en proyectos con usuarios que imprimen con navegadores muy variados.
Almindelige fejl og hvordan man undgår dem
sted break-after: always i overskud provoka páginas eller semi vacías kolonner. Antes de forzar, valora si avoid o auto ya ofrecen un corte naturlig aceptable.
Ignorer interaktionen med break-inside es otro fallo habitual. Si un componente no debe divider, tilføjer break-inside: avoid (o avoid-page/avoid-column) además de manejar el "efter" o "før" en los elementos adyacentes.
Ingen sandsynlighed i den virkelige kontekst eller klassisk: la vista previa de impresión no siempre es fiel a como quedará el PDF o la impresora física. Genera un PDF, Revisa Márgenes y Asegúrate de que los saltos respetan cabeceras y tærter.
Hurtig ejendomsrapport
- Initial:
auto - Gælder for: cajas de bloque, items de grid, items de flex, grupos de filas de tabla y filas
- Nedarvet: ingen
- Beregnet værdi: tal cual se specifica
- Animationstype: 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 afhænger af dem.
At dominere break-after te permite maquetar documentos que se imprimen bien, columnas ordenadas y flujos de lectura claros. A poco que lo kombinerer 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.
