how to make printable version of a webpage?
You can make printer friendly version of your page with @media print
@media print {
your styles here
}
For example in Foundation they have the basic rules to which you can add anything of your own:
@media print {
* { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
-ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */
p a, p a:visited { color: #444 !important; text-decoration: underline; }
p a[href]:after { content: " (" attr(href) ")"; }
abbr[title]:after { content: " (" attr(title) ")"; }
.ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
tr, img { page-break-inside: avoid; }
@page { margin: 0.5cm; }
p, h2, h3 { orphans: 3; widows: 3; }
h2, h3{ page-break-after: avoid; }
.hide-on-print { display: none !important; }
.print-only { display: block !important; }
}
Use CSS with @media
rules. Define your styles for displaying on the screen with @media screen
and @media print
for print-view. Control page breaks with page-break-*
attributes.
@media screen {
body {
background-image: url(/images/background.png);
}
}
@media print {
body {
background-image: none;
}
tr {
page-break-inside: avoid;
}
}