Using break-inside should work:
@media print {
div {
break-inside: avoid;
}
}
It works on all major browsers:
Using page-break-inside: avoid;
instead should work too, but has been exactly deprecated by break-inside: avoid
.
page-break-inside: avoid;
gave me trouble using wkhtmltopdf.
To avoid breaks in the text add display: table;
to the CSS of the text-containing div.
I hope this works for you too. Thanks JohnS.
Only a partial solution: The only way I could get this to work for IE was to wrap each div in it's own table and set the page-break-inside on the table to avoid.
page-break-inside: avoid; definitely does not work in webkit, in fact has been a known issue for 5+ years now https://bugs.webkit.org/show_bug.cgi?id=5097
As far as my research has gone, there is no known method to accomplish this (I am working on figuring out my own hack)
The advice I can give you is, to accomplish this functionality in FF, wrap the content that you don;t want to break ever inside a DIV (or any container) with overflow: auto (just be careful not to cause weird scroll bars to show up by sizing the container too small).
Sadly, FF is the only browser I managed to accomplish this in, and webkit is the one I am more worried about.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With