Если вы просто хотите использовать CSS и хотите избежать разрыва страницы, используйте
.print{
page-break-after: avoid;
}
Взгляните на постраничный носитель
Вы можете использовать эквиваленты сценариев для pageBreakBeforeи pageBreakAfter, динамически назначать их значения.Например, вместо создания пользовательских разрывов страниц для ваших посетителей, вы можете создать сценарий, чтобы сделать это необязательным.Здесь я создам флажок, который переключается между нарезкой страницы в заголовках (h2) и на собственное усмотрение принтера (по умолчанию):
<form name="myform">
<input type="checkbox" name="mybox" onClick="breakeveryheader()">
</form>
<script type="text/javascript">
function breakeveryheader(){
var thestyle=(document.forms.myform.mybox.checked)? "always" : "auto"
for (i=0; i<document.getElementsByTagName("H2").length; i++)
document.getElementsByTagName("H2")[i].style.pageBreakBefore=thestyle
}
Нажмите здесь для примера, который использует это.Вы можете заменить H2 внутри скрипта другим тегом, таким как P или DIV.
http://www.javascriptkit.com/dhtmltutors/pagebreak.shtml