问题
I have a long HTML to print. Page is ready for printing but I need to border every single page. I added body { border:2px #666 solid; padding:5px; }
in CSS code. HTML view is nice but print view is not. Because border-bottom is not showing first page and border-top is not showing all other pages.
I hope, I can explain what I want. I'm searched and still searching for solution. And I think it's easy trick. But stil not found.
回答1:
Try this it will help you : It will make border on full screen.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<title>Border around content</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
html, body {
height: 100%;
overflow: hidden;
}
#wrapper {
position: absolute;
overflow: auto;
left: 0;
right: 0;
top: 0;
bottom: 0;
border: 5px solid red;
}
</style>
</head>
<body>
<div id="wrapper">
</div>
</body>
</html>
回答2:
The best way is putting a fixed div
in a page. The important thing is that you should not put any content inside it. It works seamlessly with multi-pages:
<html>
<head>
<style type="text/css">
#pageborder {
position:fixed;
left: 0;
right: 0;
top: 0;
bottom: 0;
border: 2px solid black;
}
</style>
</head>
<body>
<div id="pageborder">
</div>
sdf<br/>
sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>
sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>sdf<br/>
111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>
111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>111<br/>
222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>222<br/>
</body>
</html>
回答3:
By default, the border renders outside of the area of the element.
Try adding this to the print CSS:
body { box-sizing: border-box; border: 10px solid black; }
Hope this helps!
Edit: you can also try making the border bigger, and adding temporarily !important to the box-sizing and border CSS. That sometimes helps me find the source of the trouble.
来源:https://stackoverflow.com/questions/24361501/how-to-make-page-border-in-print-css-for-every-single-page