The most useful CSS printing directive
@media print {
div {page-break-inside: avoid;}
}
Should be self-explanatory. Note that you can't use this property on absolutely positioned elements, but other than that, it pretty much works perfectly for preserving logical chunks of content in printed output.