CSS To Set A4 Paper Size
Answer : I looked into this a bit more and the actual problem seems to be with assigning initial to page width under the print media rule. It seems like in Chrome width: initial on the .page element results in scaling of the page content if no specific length value is defined for width on any of the parent elements ( width: initial in this case resolves to width: auto ... but actually any value smaller than the size defined under the @page rule causes the same issue). So not only the content is now too long for the page (by about 2cm ), but also the page padding will be slightly more than the initial 2cm and so on (it seems to render the contents under width: auto to the width of ~196mm and then scale the whole content up to the width of 210mm ~ but strangely exactly the same scaling factor is applied to contents with any width smaller than 210mm ). To fix this problem you can simply in the print media rule assign the A4 paper width and hight to html, body or direct