page-break-inside

已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。

警告:此属性已被 break-inside 属性取代。

page-break-inside CSS 属性调整当前元素内部的分页符。

试一试

page-break-inside: auto;
page-break-inside: avoid;
<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>
.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;
  }
}
const btn = document.getElementById("print-btn");

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

语法

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;

auto

初始值。自动分页(不强制也不禁止)。

avoid

避免元素内部出现分页符。

分页别名

page-break-inside 属性现在是旧版属性,已被 break-inside 取代。

出于兼容性原因,浏览器应将 page-break-inside 视为 break-inside 的别名。这可确保使用 page-break-inside 的网站继续按设计运行。一部分值应按如下方式进行别名处理:

page-break-inside break-inside
auto auto
avoid avoid

正式定义

初始值auto
应用于根元素的正常流中的块级元素。用户代理还可以将其应用于其他元素,如 table-row 元素。
继承性
计算值同指定值
动画类型离散

正式语法

page-break-inside = 
avoid |
auto |
inherit

示例

避免元素内部出现分页符

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;
}

结果

规范

规范
CSS Fragmentation Module Level 3
# 分页属性

浏览器兼容性

另见