There is a CSS style page-break-inside: avoid intended for that. Unfortunately it cannot be applied directly to DIV. So a solution would be to place the DIV content into a table cell (with invisible borders) and to apply the style to the table to the table row.