Это должно работать:
@media print
{
div{
page-break-inside: avoid;
}
}
Обратите внимание на текущую поддержку браузера (12-03-2014) :
Возможные значения для разрыва страницы после: авто, всегда, избегать, влево, вправо
Я считаю, что вы не можете использовать thie page-break-after свойство на абсолютно позиционированных элементах.
У меня пока нет решения этой же проблемы. разрыв страницы внутри работает не на браузерах, а на Opera. Альтернативой может быть использование page-break-after: avoid; на всех дочерних элементах div для поддержания тогехтера ... но в моих тестах, avoid-Attribute не работает, например, в Firefox ...
То, что работает во всех популярных браузерах, это принудительный разрыв страницы, используя, например, разрыв страницы после: всегда
Только частичное решение: единственный способ, которым я мог заставить это работать для IE, заключался в том, чтобы обернуть каждый div в его собственную таблицу и установить разрыв страницы внутри таблицы, чтобы избежать.