Open the following HTML in Firefox
<!doctype html>
<html>
<body>
<div style="width: 1000px; height: 4000px;">
<div style="margin-left: 500px; margin-top: 2000px; position: absolute;">Caption </div>
</div>
</body>
</html>
Click Print -> Preview.
You expected to see word Caption on the second page (in portrait mode) but all pages are empty.
Your problem is the
position:absolute. Your element has no positioned ancestors, so its containing block is the initial containing block, per http://www.w3.org/TR/CSS21/visudet.html#containing-block-details . In print CSS the initial containing block is the area of the first page, per http://www.w3.org/TR/CSS21/page.html#page-areaSo you’re asking for the element to be positioned on the first page of the document, 2000px from the top of the page. Which happens to be off the bottom of the page, of course. There’s nothing there saying that this generates any more pages…