正确的 CSS 破解:guía completa、usos y soporte

最后更新: 11/15/2025
作者: C 源跟踪
  • 打破后控制saltos tras un elemento en páginas,专栏和地区,con valores para forzar,evitar o ajustar el contexto。
  • La Prioridad es 打破之前 打破之后 y 打破内部;议会中存在着强大的力量和必要的条件。
  • actúa como alias en impresión 后分页;方便我们使用后备装置,并在项目与支持变量中进行突破。

CSS 中断后页面和列的说明

宽多的印象、多栏或流碎片、延迟或时间,以便在页面或栏目上进行盐化。 Ahí es donde entra en juego la propiedad CSS break-after, una herramienta que indica al navegador si debe producirse un salto justo después de un elemento。

所有这些主题的印象、中断以及完整的解决方案:专栏中的数字周期、PDF 格式的信息、页面上的文档以及各个地区的影响和影响。 增强力量,允许或阻碍攻击 上下文:页面印象、专栏或地区。

CSS 中断后的属性是什么

物业 break-after 定义页面、栏目或区域中的产品,以显示应用程序中的元素。 Dicho de forma llana, 马卡报, de modo que el contenido after empiece en la siguiente “unidad” de fragmentación (página, columna or región) según el entorno en el que esté maquetando el navegador.

历史,en CSS 2.1 disponíamos de page-break-after para medios paginados. Hoy, 突破后放大概念 与多栏目和区域的功能相同,可以与印象中的经典价值兼容。

语法、价值和解释

直接使用的基本形式: break-after: <valor>。页面、栏目或地区的通用和具体内容的价值:

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 defragacion inmediato) y all (实验性的,fuerza el salto atravesando todos los contextos defractionación:por ejemplo,columna y página a la vez si aplica)。

页面中的价值: avoid-page (evita salto de página), page (fuerza salto de página), left y right (fuerzan uno o dos saltos para aseguar que el siguiente contenido comienza en página izquierda o derecha,respectivamente)。阿德马斯, recto y verso 实验价值之子 Obligan a que la siguiente página sea 正面或反面 según el flujo del idioma.

多栏设置的价值: avoid-column evita un salto de columna y column 加油。 En contenidos extensos repartidos por varias columns, estos valores son clave para no cortar piezas delicadas (como unfragmento de código) o para alinear bloques a la cabecera de la siguiente columna。

Valores para regiones: avoid-region y region 控制 CSS 区域定义的区域。 Aunque especación tuvo tracción en su momento, 限制地区皇家体育 在现代的航行中,为了方便考虑我们的实验或遗产。

专栏和页面中的中断视觉效果

导航决策规则:forzar、evitar 和prioridades

En cada punto donde podría producirse una rotura (el “borde” entre elementos), el navegador evalúa tres propiedades: el break-after del elemento anterior中, break-before del siguiente y el break-inside 德尔康泰内多尔。这是决定结果的三者之间的相互作用。

El algoritmo, simplificado, funciona así: si alguna de esas propiedades especica un 勇猛之举 (always, left, right, page, column, region),这是优先的。 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 避免的勇气 (avoid, avoid-page, avoid-column, avoid-region),没有相应的应用程序。 Después de resolver los saltos forzados, el navegador puede añadir “saltos suaves” si lo necesita, 但你不能限制马卡多斯与埃塔的价值.

与历史兼容性和分页后的关系

由于兼容的动机, los navegadores tratan page-break-after como un alias de break-after en medios paginados。这是在古代使用的情况下,与 esperaba 相关的经典属性。

La equalencia de valores funciona de la siguiente manera: autoauto, alwayspage, avoidavoid-page, leftleft, rightright。 在实践中, 罗布斯泰兹市长的讲话 en impresión:

.elemento {
  page-break-after: always; /* fallback histórico */
  break-after: page;        /* estándar actual */
}

也有 page-break-before con la Misma filosofía en el “lado anterior” del elemento。 Usar 之前或之后 dependente del punto excato donde quieras el corte 在你的妆容里。

应用和视觉配合

La propiedad se aplica a cajas de nivel de bloque 正常的流感,现代的延伸,一个项目 grid, ítems de flex、塔布拉丝线组和塔布拉丝线组。 No se hereda, su valor inicial es auto y 谨慎的动画类型 (es decir,no interpola como tal en transiciones)。

Cuando una página o columnsa corta una caja, 洛斯马赫内斯、边界和填充物 no se dibujan en el punto de corte。 La única Exception es el margen inmediatamente after a un salto forzado, que se conserva. Este detalle ayuda a mantener el espacio Visual Correcto tras un salto insertado expresamente。

实际使用示例

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 siguiente regla dentro de un @media print。 Es una situación típica en libros or informes donde 相互分离的克拉门特部分:

@media print {
  #tabla-de-contenidos {
    break-after: always;
  }
}

页面印象:在公共场合,我们需要在页面上保持友好。帕拉埃洛, utiliza el valor right:

@media print {
  #tabla-de-contenidos {
    break-after: right;
  }
}

多栏:想象一个主要标题的竞争(column-span: all) y subsections que quieres aline en cabecera de columna。阿普利卡 break-after: column en el bloque previo (por ejemplo, en un <p> o en cada <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 在队伍中。 En documentos impresos esto reduce cortes raros en elcuerpo de una tabla:

tr {
  break-after: avoid;
}

Evitar cortes dentro de un fragmento delicado en columnas: un bloque de código al que no quierespartir entre columnas puede beneficiarse de break-after: column 前部元素 o manejarlo 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 */
}

地区: si trabajas con Flujos por Regiones (soporte limitado), puedes indicar que una lista termine una región y que el Resto Fluya en la siguiente. Aunque no es lo más común hoy, Sirve como 参考 de cómo se pensó la propiedad en ese contexto:

.region ul {
  break-after: region;
}

条件适应:si deseas que en pantallas pequeñas el compportamiento vuelva a auto para evitar fragmentación agresiva, 普埃德斯 apoyarte 媒体查询:

@media screen and (max-width: 768px) {
  h2 {
    break-after: auto;
  }
}

Cómo se 组合打破前、打破后和内部打破

Estas tres propiedades actúan a la vez。习惯性的,例如,usar break-inside: avoid en un componente para que no se rompa por dentro, mientras que una cabecera siguiente 声明 break-before: page Para arrancar en una página nueva。 Si el “之前” pide un salto, tentrá Preferred sobre el “after” previo.

重要的是: break-before 加纳 break-after, que a su vez gana a break-inside。如果有各种连体衣,请在文档中找到一些元素。

上下文的兼容性和支持

的支持 break-after 取决于上下文。 En paginación/impresión, 现代化的导航者实施放大形式,y el alias page-break-after Mantiene la Retrocompatibilidad de siteios antiguos。

En multicolumnas, el valor column 现代汽车的可用状态;罪禁运,在 WebKit 上与我们共存 -webkit-column-break-after 没有其他选择。 如果您有公共需求,请注意,如果您继续,包括预付款 对于列。

各地区的全景非常不规则: CSS 区域没有通用形式的植入, por lo que los valores region y avoid-region 请考虑遗产实验。

Un apunte histórico: hubo demostraciones en las que IE10+ 修复后最常见的柱状盐 WebKit 入门指南 -webkit-column-break-after, y Firefox 可以在上下文中找到这些属性。 Hoy el soporte ha mejorado,pero sigue siendo buena idea contrar los tres entornos(印象、柱状和区域)en los navegadores objetivo。

断裂后的加工实践

  • 适量使用: 联合国“siempre salta” tras cada bloque generic espacios en blanco y maquetaciones pocofluas。 Empléalo 独奏 Donde Aporte claridad。
  • Evitar con criterio: 滥用 avoid 在文件的其他部分中提出挑衅。组合康 break-inside cuando quieras proteger un componente。
  • Pruebas en navegadores y dispositivos: 嵌入 PDF,可实现多列展示和测试。根据电机和环境的不同而变化。
  • Media queries con cabeza: 干脆决定碎片化的情感在纸面上的移动;调整康 @media 必要时。

详细技术和具体说明

财产模型概述: 初始值 auto,没有继承,valor computado“tal cual”se especica y tipo de animación discreto。如果没有任何暗示的动画,那么在议会中不存在逐渐过渡的情况。

En cajas divididas por un salto, los bordes, rellenos y márgenes no se “repiten” en el punto de rotura. 保存在紧急情况下的紧急情况,您可以在新页面或专栏中分离内容。

Patroneshabituales y trucos(con contexto histórico)

En épocas con soporte不规则,se popizó un truco:插入un DIV vacío con &nbsp; 并分配它 page-break-before/after Para forzar el salto antes o después del Componente real。今天,没有解决方案“bonita”,但仍将继续为您提供帮助 page-break-* funciona mejor que break-* en ciertos navegadores antiguos。

El truco solía escribirse así (para provocar un salto antes de una tabla): Primero el DIV 与 salto、luego un parrafo separador 和 la tabla, de modo que la taba apareciera al Principio de una página nueva al imprimir:

<div style="page-break-before: always;">&nbsp;</div>
<p></p>
<table>
  <tr><td>Contenido...</td></tr>
</table>

如果您使用 WebKit 经典的多列工具,请参阅 老人 -webkit-column-break-after aún puede servir como salvavidas junto al valor estándar,例如:

figure {
  break-after: column;
  -webkit-column-break-after: always; /* respaldo no estándar */
}

高级用例

双页翻页:en libros y revistas,es común exigir que 页面上的标题。为此,请使用 right。 Si el contenido siguiente ya caía en una derecha, no habrá salto extra;如果不,请插入一条附加语句。

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 将连身衣穿在页面的柱子上,确保在上层环境中穿着柔软的衣服。 Es un valorexperimental,así que pruébalo con mimo.

Reflujo ordenado de secciones: cuando tienes varias secciones que deben comenzar en cabecera de columns, 申请 break-after: column 每个部分 ayuda a que queden “cuadradas” 视觉效果,con títulos alineados arriba y 罪孽碎片partidos en posiciones incómodas。

别名和等价值记录器

Si todavia mantienes hojas de estilo de impresión con page-break-after,以线性方式与现代世界一样: page-break-after: always 等于 break-after: page; page-break-after: avoid se mapea a break-after: avoid-page; left y right 保守意义。这允许实现进步。

Para casos donde el navegador no Implemente completamente la familia break-* en un contexto concreto, mantener el alias clásico como “后备” Suele Ser un movimiento inteligente, sobre todo en proyectos con usuarios que imprimen con navegadores muy variados.

常见错误以及如何避免它们

地方 break-after: always 多余的 激动人心的页面或半空白的专栏。福扎尔的前脚,瓦洛拉西 avoid o auto ya ofrecen un corte 自然可以接受。

忽略与 break-inside 这是习惯性的。 Si un componente no debe divirse, 增加 break-inside: avoid (o avoid-page/avoid-column) además de manejar el “after” 或 “before” en los elementos adyacentes。

没有可能在真实的背景下进行三场经典比赛: 眼前的景象 这是 PDF 或 física 的说明。通用 PDF 文件,可修改并调整有关烤面包和馅饼的盐份。

Ficha rápida de la propiedad

  • 最初的: auto
  • Se aplica a: 块状卡哈、网格项目、弹性项目、塔布拉和丝线组
  • 继承: 没有
  • 计算值: tal cual se especifica
  • 动画类型: 离散

Por último, recuerda que algunos valores (all, recto, verso) siguen marcados como Experimentes en los borradores de especacion.一个现有的工具, 你的战略包括预防措施和“后备措施” cuando dependas de ellos.

主宰 break-after 我们允许您提供完整的文件,以确保您的发言、专栏和演讲的流畅。 A poco que lo 结合了 con break-before y break-inside y tengas encuenta los alias históricos y los prefijos de respaldo, 获得准确和预见的结果 Sin pelearte con páginas en blanco ni bloques party donde no toca。

propiedad css overflow-y
相关文章:
CSS 溢出属性:guía completa, valores y trucos
相关文章: