Back to Content

page-break-inside

files/en-us/web/css/reference/properties/page-break-inside/index.md

latest3.5 KB
Original Source

{{deprecated_header}}

[!WARNING] This property has been replaced by the {{cssxref("break-inside")}} property.

The page-break-inside CSS property adjusts page breaks inside the current element.

{{InteractiveExample("CSS Demo: page-break-inside")}}

css
page-break-inside: auto;
css
page-break-inside: avoid;
html
<div>
  <p>
    The effect of this property can be noticed when the document is being
    printed or a preview of a print is displayed.
  </p>
  <button id="print-btn">Show Print Preview</button>
  <div class="box-container">
    <div class="box">Content before the property</div>
    <div class="box" id="example-element">Content with 'page-break-inside'</div>
    <div class="box">Content after the property</div>
  </div>
</div>
css
.box {
  border: solid #5b6dcd 5px;
  background-color: #5b6dcd;
  margin: 10px 0;
  padding: 5px;
}

#example-element {
  border: solid 5px #ffc129;
  background-color: #ffc129;
  color: black;
}

@media print {
  #example-element {
    height: 25cm;
  }
}
js
const btn = document.getElementById("print-btn");

btn.addEventListener("click", () => {
  window.print();
});

Syntax

css
/* Keyword values */
page-break-inside: auto;
page-break-inside: avoid;

/* Global values */
page-break-inside: inherit;
page-break-inside: initial;
page-break-inside: revert;
page-break-inside: revert-layer;
page-break-inside: unset;

Values

  • auto
    • : Initial value. Automatic page breaks (neither forced nor forbidden).
  • avoid
    • : Avoid page breaks inside the element.

Page break aliases

The page-break-inside property is now a legacy property, replaced by {{cssxref("break-inside")}}.

For compatibility reasons, page-break-inside should be treated by browsers as an alias of break-inside. This ensures that sites using page-break-inside continue to work as designed. A subset of values should be aliased as follows:

page-break-insidebreak-inside
autoauto
avoidavoid

Formal definition

{{cssinfo}}

Formal syntax

{{csssyntax}}

Examples

Avoiding page breaks inside elements

HTML

html
<div class="page">
  <p>This is the first paragraph.</p>
  <section class="list">
    <span>A list</span>
    <ol>
      <li>one</li>
      <!-- <li>two</li> -->
    </ol>
  </section>
  <ul>
    <li>one</li>
    <!-- <li>two</li> -->
  </ul>
  <p>This is the second paragraph.</p>
  <p>This is the third paragraph, it contains more text.</p>
  <p>
    This is the fourth paragraph. It has a little bit more text than the third
    one.
  </p>
</div>

CSS

css
.page {
  background-color: #8cffa0;
  height: 90px;
  width: 200px;
  columns: 1;
  column-width: 100px;
}

.list,
ol,
ul,
p {
  break-inside: avoid;
}

p {
  background-color: #8ca0ff;
}

ol,
ul,
.list {
  margin: 0.5em 0;
  display: block;
  background-color: orange;
}

p:first-child {
  margin-top: 0;
}

Result

{{EmbedLiveSample("Avoiding_page_breaks_inside_elements", 400, 160)}}

Specifications

{{Specifications}}

Browser compatibility

{{Compat}}

See also

  • {{cssxref("break-before")}}, {{cssxref("break-after")}}, {{cssxref("break-inside")}}
  • {{cssxref("page-break-after")}}, {{cssxref("page-break-before")}}
  • {{cssxref("orphans")}}, {{cssxref("widows")}}