Search code examples
htmlcssgoogle-chromepage-break

page-break-after does not work in Chrome


I have a problem with page-break-after in Google Chrome during printing. It seems that it's not working. I tried Firefox and it's ok there. My code is:

<div style="position: relative; display: block;">

    <div style="display: block; page-break-after: always; position: relative;">Page 1</div>

    <div style="display: block; position: relative; page-break-before:always;">Page 2</div>

</div>

Is there any trick to get it done in Chrome?


Solution

  • It is a hack, but Chrome doesn't support page-breaks very well. So try to use this instead:

    <body>
        <main role="main">
            <section class="tabs">
                <div class="tabbed-content">
                    <div class="break-after">Page 1</div>
                    <div class="break-before">Page 2</div>
                </div>
            </section>
        </main>
    </body>
    

    And add this to your css:

    html, body, .main, .tabs, .tabbed-content { float: none; }
    
    .break-after {
        display: block;
        page-break-after: always;
        position: relative;
    }
    
    .break-before {
        display: block;
        page-break-before: always;
        position: relative;
    }