html - 打印长列表时如何避免分页

标签 html css printing

我正在为我客户网站上的可打印小册子做一些样式设计,其中可能包含长而无序的信息列表。

我的问题是在 Firefox 中打印整个 <UL>将打开一个新页面而不是它的子页面 <li>的拆分,这意味着它不会与页面上的其他内容一起流动。

我找到了 CSS 属性 page-break-inside仅在 Opera 和 IE8 中受支持,有谁知道此属性的替代方法或我可以用来防止整个列表中断到新页面的其他方法。

干杯!

更新 [23.11.2011]: 我能够解决我的问题,因为打印的文档是根据用户的选择生成的,所以这个页面只会被打印我(非常不情愿地)把语义放在一边并删除了 UL 并将 LI 替换为DIV,正确中断。对于任何有类似问题但使用相同 HTML 进行打印和屏幕显示的人来说,问题仍然存在。

我将重现我遇到的问题并尽快发布必要的 HTML 和 CSS。

最佳答案

考虑以编程方式删除打印版的 UL 标签。您应该能够让 LI 元素显示相同的样式。

JavaScript 甚至 jQuery 都可以很容易地处理这个问题,但我敢打赌您可以改为处理这个服务器端。

我知道它在技术上不是有效的 HTML,但有时当 HTML/CSS 不能为您提供灵 active 时,您必须改变规则。

关于html - 打印长列表时如何避免分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7874726/

相关文章:

javascript - 仅当存在另一个类时才添加类

css - 如何在 Bootstrap 表中为复选框列添加标题

javascript - CSS:当关注其他元素时悬停

Java PrintWriter 不弹出打印纸

delphi - BitBlt Printer.Canvas 到 TBitMap 显示为纯白色

html - CSS网格悬停在区域之外

jquery - 删除 cakephp 默认模板中的额外代码

ASP.Net MVC 不将电子邮件呈现为类型 ="email"

html - 高度 :100% does not work when using Semantic-UI

c++ - 有没有像打印机标记语言这样的东西