Note: You are currently viewing documentation for Moodle 1.9. Up-to-date documentation for the latest stable version is available here: Print style.

Print style

From MoodleDocs

Why print styles?

Sometimes you might want to print a page but without some of its elements, e.g. the navigation bar or the footer.

Here's an example of a Database Activity entry.

Screen display

That's how the entry looks in the browser:

Database activity entry browser view.png

Creating a print CSS

The trick for creating print styles is using CSS's @media rule. That way the CSS will only be applied to the specified medium, "print" in our case.

Put the following CSS in a file called printstyles.css in your theme folder and add the style to your theme by modifying the theme's config.php:

$THEME->sheets = array('styles_layout', 'styles_fonts', 'styles_color', 'printstyles');


/* Print styles for Moodle database activity */

@media print {

 html, body {
   margin: 0;
   padding: 0;
   width: 100%;
 body {
   background-color: White;
   color: Black;
   font-size: 75%;

 div.tabtree, div#header, div.navbar, 
 div.headermenu, div.paging, div#footer, 
 div.datapreferences {
   display: none;
 table {
   text-align: left;


You can use any CSS you like. These are only some examples:

  • We unset the page margins and padding to use as much space on the printed page as possible.
  • We hide those parts of the page we don't want get printed by using "display: none;".
  • We set the color scheme to black & white.
  • We decrease the font-size.
  • We change the text-alignment for easier reading.

The result

And here's the print preview of the same database entry:

Database entry print preview 75.png

Further resources

You will find more detailed instructions in the following articles by CSS guru Eric Meyer:

Useful tools

  • Firebug - for live analyzing and testing of CSS settings
  • Web developer toolbar - for enabling only the print CSS even when normally viewing a page in the browser (no resorting to the browser's Print preview necessary)
  • Stylish - for permanently applying your own CSS to any webpage - or if you don't want to or can't change any CSS files on your server
    • Stylish-Custom - an enhancement for Stylish with lots of useful features - highly recommended!

See also:

Moodle Docs
Forum discussions
General information