我想创建一个漂亮的打印html页面。我需要在顶层构造之间强制分页,因此我为每个构造的顶层元素添加了一个CSS类,并设置了page-break-before:始终在该类的CSS中。例如:CSS:page-break-before,总是,除了第一次?
<body>
<div class="prettyprint">
<div class='toplevel'>
...
</div>
<div class='toplevel'>
...
</div>
</div>
</body>
.prettyprint .toplevel { page-break-before:always; }
我的问题是我得到一个空白页,在第一个顶级元素之前。这是非常有意义的,考虑以前的页面突破:总是应该做的。但我不想要它。
所以,一种选择是不在第一个元素中包含“顶级”类,或者提供一个新的“firsttoplevel”类,它不会设置page-break-before:always,并将其设置为第一个顶级元素,然后对所有其他元素使用“顶级”。我可以很轻松地做到这一点,但它似乎违反了关注点的分离。
所以我想知道是否有办法在CSS中做到这一点?要设置一个仅适用于“prettyprint”的第一个“顶级”子项的规则?
任何想法,将不胜感激。
+1我能想到的最好的办法。您可以使用jQuery为IE6添加功能。 – 2010-08-02 19:57:37
即使在当前版本中,IE也会打印一些图片[至少对我来说],我对IE6不太在意:P – naugtur 2010-08-02 20:21:58
你是个傻子。 – Pat 2010-08-02 21:06:59