正確的 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 las filas。 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,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 不 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 沒有其他選擇。 如果您有公共需求,請注意,如果您繼續,包括預付款 para columnas.

各地區的全景非常不規則: 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。

沒有 Probar en contexto real es el clásico: 眼前的景象 這是 PDF 或 física 的說明。通用 PDF 文件,可修改並調整有關烤麵包和餡餅的鹽份。

Ficha rápida de la propiedad

  • 最初的: auto
  • 適用範圍: 塊狀卡哈、網格項目、彈性項目、塔布拉和絲線組
  • 繼承: 沒有
  • 計算值: 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
相關文章: