I'm going to assume you have control over the generated html and can make some changes there. You will need to empirically determine the exact height and width of the pdf. You will also need to determine the maximum number of pdf pages an html page will fill.
The basic plan is to put the html content in its own containing div and repeat that div for however many pages you might possibly fill. Each div will then be styled and sized to fit on one page, with the overflow being hidden (we can think of each div as a "window"). The repeat divs will have their content shifted so that a different part of the content is in the window. In the following example, I'm going to assume a pdf page dimensions of 500px by 500px (I know this is unrealistic), that the maximum number of pages content will take up is 3, and that your html is being rendered by the pdf converter in a standards-compliant fashion.
<!DOCTYPE html>
<html>
<head>
<title>PDF Pagination Example</title>
<style>
.header {background:blue; height:25px}
.footer {background:green; height:25px}
.window {height:500px; width:500px}
#window1, #window2, #window3 {height:450px; overflow:hidden}
#spacer2 {height:0; margin-top:-450px}
#spacer3 {height:0; margin-top:-900px}
li {font-size:30px; padding:10px}
</style>
</head>
<body>
<div class='window'>
<div class='header'>A header</div>
<div id='window1'>
<ol>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
</ol>
</div>
<div class='footer'>A footer</div>
</div>
<div class='window'>
<div class='header'>A header</div>
<div id='window2'>
<div id='spacer2'></div>
<ol>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
</ol>
</div>
<div class='footer'>A footer</div>
</div>
<div class='window'>
<div class='header'>A header</div>
<div id='window3'>
<div id='spacer3'></div>
<ol>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
<li>Content of variable height that may or may not overflow.</li>
</ol>
</div>
<div class='footer'>A footer</div>
</div>
</body>
</html>
At a font size of 30px, the content splits between two pages. If you increase the font size to 50px, the content will spread to fill all three.
The last piece of the puzzle is a bit of javascript. You will need to write a snippet that calculates the height of the content and adds padding to the bottom of each window so you don't get cutoff like in the example. The javascript should also set windows with no content in them to display:none. I'm not sure if this is even the css you are looking for, so I won't work out the javascript, but I am also certain that if you need help with that you can find it here on SO :).