Css Print Media Query Prints Only First Page
Solution 1:
Try this: edit: using position absolute. Realized that position:fixed only creates one page since thats how it works (you cannot scroll with position:fixed). Absolute does the same thing but is expandable.
@media print {
    body * {
        visibility: hidden;
    }
    #divname, #divname * {
        visibility: visible;
    }
    #divname {
        left: 0px;
        top: 0px;
        position:absolute;
    }
    p {
        page-break-before: always;
    }
}
.para {
    font-size:x-large;
    height:3000px;
}
Solution 2:
CSS
@media print {
  * { overflow: visible !important; } 
  .page { page-break-after:always; }
}
HTML
<div><divclass="page">
    Page 1 Contents
  </div><divclass="page">
    Page 2 Contents
  </div></div>Solution 3:
I got the same problem right now and tried almost everything (clearing floats, avoiding absolute positioning, adding overflows, ...) without any effect.
Then I found a fix, as simple that it hurts:
body, #main-container {
  height: auto;
}
I think this may is the solution only for some edge-cases, but as I didn't found this solution when I was searching before and fiddling around with many non-working-solutions I think it should at least be mentioned for people that don't get it working with the "usual tips".
Solution 4:
You can force Chrome to emulate "print" mode, which makes it much easier to troubleshoot these finicky @media print issues:
Using Chrome's Element Inspector in Print Preview Mode?
Once it's enabled, you can change the CSS for the print view on the fly and see what'll work for you.
Post a Comment for "Css Print Media Query Prints Only First Page"