html - 在 Webkit 中打印时控制 CSS 分页符

标签 html css webkit

我正在尝试改善使用 Webkit 打印的 html 文档的外观,在这种情况下,通过对发生分页符的位置施加一些控制。

我可以在需要使用的地方插入分页符:

page-break-after: always; 

但是,我找不到避免在元素中间插入分页符的方法。例如,我有 html 表格,不应在多个页面的中间拆分。我的印象是

page-break-inside: avoid;

会阻止在元素内插入分页符,但它似乎没有做任何事情。我的代码如下所示:

.dontsplit { border: 2px solid black; page-break-inside: avoid; }

<table class="dontsplit">
    <tr><td>Some title</td></tr>
    <tr><td><img src="something.jpg"></td></tr>
</table>

尽管有 page-break-inside: avoid 指令,我仍然将表格在第一行和第二行之间拆分为单独的页面。

有什么想法吗?

最佳答案

下载了最新的 wkhtmltopdf 二进制文件 http://code.google.com/p/wkhtmltopdf/ ,以下似乎有效。

.dontsplit { border: 2px solid black; page-break-inside: avoid; }

<table>
  <tr><td><div class="dontsplit">Some title</div></td></tr>
  <tr><td><div class="dontsplit"><img src="something.jpg"></div></td></tr>
</table>

引用:http://code.google.com/p/wkhtmltopdf/issues/detail?id=9#c21

谨慎地在 td 上放置 margin 和 padding 为零,并在 div 上放置任何一个,否则你会得到“边缘”使其超过折叠

关于html - 在 Webkit 中打印时控制 CSS 分页符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1539876/

相关文章:

html - css - 将输入元素的背景设置为三种颜色的组合

css - 字间距查询

c++ - 这个宏语句是合法的 C++ 还是其他什么?如果它是合法的,它是如何工作的

javascript - 我可以在 PHP 或 javascript 中使用一些函数将所有 HTML 实体转换为其十进制等效值吗?

javascript - 在 View 中淡入元素并在 View 外淡出

html - 部署后 CSS 样式未显示在 GitHub 上

html - CSS 样式 Firefox/Safari/Chrome

google-chrome - 具有线性渐变的 CSS3 多个背景在 Google Chrome 中出现错误

javascript - Firefox 拖放重定向停止 JQUERY

javascript - 复杂 Web 表单中的粘性标题(类似 iPhone)