Have you tried page-break-inside: avoid; on the outer box surrounding your data that shouldn't page break?
But either way, keep in mind, if the page is full it's full, and with what you are doing now you are forbidding overflow onto next page, so it makes sense it does not appear.