---
title: "限制"
description: "Tiptap Pages 扩展的已知局限性及其解决方法。"
canonical_url: "https://tiptap.zhcndoc.com/pages/core-concepts/limitations"
---

# 限制

Tiptap Pages 扩展的已知局限性及其解决方法。

Pages 扩展有少量明确的限制。下面列出的每一项都是有意为之（不是 bug），而且大多数都有文档化的变通方法。

## 过大的不可拆分块会导致无限布局循环

这是在采用 Pages 之前最重要的一项限制，务必了解。

### 会发生什么

Tiptap Pages 会在自然断点处将内容拆分到各个页面中。它有一种内容 **无法** 拆分：建立了 [块格式化上下文（BFC）](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_display/Block_formatting_context) 的块，最典型的是 **表格行**，但也包括图形、定位容器以及许多设置过样式的容器（任何带有 `display: inline-block`、`overflow: hidden`、某些 `contain` 值或浮动的元素）。当页面流遇到这些块之一而它又放不下当前页面时，唯一能做的就是把整个块移到下一页。

### 为什么这会变成严重故障

如果这个块比页面本身还高，那么把它往后移也没有帮助，因为它在下一页上仍然放不下。布局会不断尝试把它继续往后推，一页接一页，永远无法达到稳定状态。结果就是无限布局循环以及无响应的编辑器。这是让 Pages 变得不可用的最常见方式。

### 为什么我们不会自动恢复

这是 Pages 当前在页面之间划分内容方式的硬性限制，不是一个我们打算悄悄绕过的 bug。我们无法在不让布局静默丢失内容的情况下提供一个优雅的“放弃”点。未来我们可能会在一个主要版本中重新审视底层方案；目前，请将过大的 BFC 块视为开发者需要负责处理的问题。

### 需要注意什么

最常见的是：

- `heightRule: "atLeast"` 允许其高度增长到超过页面的表格行。
- 从 DOCX 导入、且原作者使用的纸张远大于编辑器页面格式的表格。
- 单元格内嵌套表格，导致外层行高超过页面。
- 内容本身比页面内容区域还大的图形或定位容器。

### 如何避免

1. **限制高度。** 对不可拆分的块应用 `max-height`。Pages 扩展会通过一个 CSS 变量暴露可用内容高度：使用 `max-height: var(--page-max-height)` 可将任意块限制在单页内。
2. **手动拆分内容。** 当单个块需要跨越多页时，在编辑时将其拆分为更小、相邻的块：把长表格拆成几个更小的表格，把高图片拆成更小的图片，把嵌套表格改成扁平表格。
3. **约束 `atLeast` 行。** 对于从 DOCX 导入的表格，如果行内容是有边界的，优先使用 `heightRule: "exact"`；内容无边界的 `atLeast` 行是最常见的触发因素。
4. **选择适合内容的页面格式。** 为 Tabloid 编写的文档无法在 A5 上正确排版；请选择内容区域大于你最高的不可拆分块的页面格式。

### 如何检测

当 Pages 扩展在循环完全失控之前检测到这种情况时，会在控制台输出警告。开发期间请注意查看。导入用户提供 DOCX 的生产代码应将该警告视为信号：要么拒绝该文档，要么在插入前以程序方式拆分过高的行。

关于此限制在表格上的专门处理方式，请参阅 [PagesTableKit 的已知问题](https://tiptap.zhcndoc.com/pages/guides/pages-tablekit.md#known-issues)。

## 表格需要 PagesTableKit，而不是开源 Table 扩展

在 Pages 中的任何表格都请使用来自 `@tiptap-pro/extension-pages-tablekit` 的 `TableKit`。开源的 `@tiptap/extension-table` 以及 ConvertKit 内置的 `ConvertTableKit` 都不支持分页安全：基于它们构建的表格会溢出页面边界并破坏布局。有关设置，请参阅 [在 Pages 中使用 TableKit](https://tiptap.zhcndoc.com/pages/guides/table-with-pages.md)；更深入的说明请参阅 [PagesTableKit](https://tiptap.zhcndoc.com/pages/guides/pages-tablekit.md)。

## 脚注不会跨页继续

当一页中的脚注数量超过配置的上限（`footnotes.maxHeightRatio`，默认占页面内容高度的 50%）时，脚注区域会裁剪超出的部分。Microsoft Word 则会将溢出的脚注继续排到下一页；Pages 目前还不支持这样做。实际上，这只会影响那些在同一页中引用了许多较长脚注的文档；如果遇到上限，请保持脚注简洁，或提高 `maxHeightRatio`。有关脚注特有限制的完整列表（编号格式、导出脚注中的表格），请参见 [脚注 → 不要期待什么](https://tiptap.zhcndoc.com/pages/core-concepts/footnotes.md#what-not-to-expect)；有关尾注特有限制的完整列表，请参见 [尾注 → 不要期待什么](https://tiptap.zhcndoc.com/pages/core-concepts/endnotes.md#what-not-to-expect)。

## 不支持按页样式

所有页面共享相同的布局和视觉样式。不支持页面专属的 CSS 规则或背景。

## Unsupported page templates

Every page uses the same structure. Multi-column layouts, alternating page templates, and per-page customization are not supported.

## 不支持浏览器打印集成

Pages does not implement the browser print dialog. For print-ready output, use the Tiptap Conversion extensions and REST endpoints. See the [Conversion overview](https://tiptap.zhcndoc.com/conversion/getting-started/overview.md), or for end-to-end setup, [From zero to print-ready](https://tiptap.zhcndoc.com/pages/guides/zero-to-print-ready.md).

> **帮助我们确定优先级:**
>
> 如果你需要的功能目前还不支持，请告诉我们。你的反馈有助于我们确定优先级。
>
> 与 Tiptap 分享你的使用案例
