How do you debug printable CSS?
In Chrome 51:
Open devtools (CTRL + F12
or CTRL + SHIFT + I
) and click on the ...
menu, click More Tools > Rendering settings
to open the Rendering
tab of the developer console (alternatively, if the console is open just navigate to this tab).
In that tab, select and check the box for Emulate Media: print
.
Debug/inspect the print version of a web page
The extension Web developer (http://chrispederick.com/work/web-developer/) has a display print style function that may help you.
Using Chrome's Element Inspector in Print Preview Mode?
Note: This answer covers several versions of Chrome, scroll to see v52, v48, v46, v43 and v42 each with their updated changes.
Chrome v52+:
- Open the Developer Tools (Windows: F12 or Ctrl+Shift+I, Mac: Cmd+Opt+I)
- Click the Customize and control DevTools hamburger menu button and choose More tools > Rendering settings (or Rendering in newer versions).
- Check the Emulate print media checkbox at the Rendering tab and select the Print media type.
Chrome v48+ (Thanks Alex for noticing):
- Open the Developer Tools (CTRLSHIFTI or F12)
- Click the Toggle device mode button in the left top corner (CTRLSHIFTM).
- Make sure the console is shown by clicking Show console in menu at (1) (ESC key toggles the console if Developer Toolbar has focus).
- Check Emulate print media at the rendering tab which can be opened by selecting Rendering in menu at (2).
Chrome v46+:
- Open the Developer Tools (CTRLSHIFTI or F12)
- Click the Toggle device mode button in the left top corner (1).
- Make sure the console is shown by clicking the menu button (2) > Show console (3) or pressing the ESC key to toggle the console (only works when Developer Toolbar has the focus).
- Open the Emulation (4) > Media (5) tabs, check CSS media and select print (3).
Chrome v43+:
- The drawer icon at step 2 has changed.
Chrome v42:
- Open the Developer Tools (CTRLSHIFTI or F12)
- Click the Toggle device mode button in the left top corner (1).
- Make sure the drawer is shown by clicking the Show drawer button (2) or pressing the ESC key to toggle the drawer.
- Under Emulation > Media check CSS media and select print (3).
Faster way to develop and test print stylesheets (avoid print preview every time)?
You can use the Chrome Media Type Emulation as accepted in the post See print css in the browser.
UPDATE 21/11/2017
The updated DevTools doc can be found here: View a page in print mode.
To view a page in print mode:
1. Open the Command Menu. (tl;dr Cmd+Shift+P (Mac) or Ctrl+Shift+P (Windows, Linux))
2. Start typing Rendering and selectShow Rendering
.
3. For the Emulate CSS Media dropdown, select print.
UPDATE 29/02/2016
The DevTools docs have moved and the above link provides inaccurate information. The updated docs regarding Media type emulation can be found here: Preview styles for more media types.
Open the DevTools emulation drawer by clicking the More overrides ••• more overrides icon in the top right corner of the browser viewport. Then, select Media in the emulation drawer.
UPDATE 12/04/2016
Unfortunately, it seems the docs have not been updated in regards to print emulation. However, the Print Media Emulator has moved (again):
- Open Chrome DevTools
- Hit esc on your keyboard
- Click ⋮ (vertical ellipsis)
- Choose Rendering
- Tick Emulate print media
See screenshot below:
UPDATE 28/06/2016
Google Developers Docs around Chrome DevTools and the "Emulate Media" option have been updated for Chrome >51:
https://developers.google.com/web/tools/chrome-devtools/settings?hl=en#emulate-print-media
To view a page in print preview mode, open the DevTools main menu, select More Tools > Rendering Settings, and then enable the emulate media checkbox with the dropdown menu set to print.
UPDATE 24/05/2016
The naming of settings have changed once again:
To view a page in print preview mode, open the DevTools main menu, select More Tools > Rendering, and then enable the Emulate CSS Media checkbox with the dropdown menu set to print.
Related Topics
How to Stick a Footer to Bottom in CSS
Prevent 100Vw from Creating Horizontal Scroll
I Want to Vertical-Align Text in Select Box
CSS Opacity and Child Elements
How to Overwrite Angular 2 Material Styles
Webkit Backface Visibility Not Working
Transparent Rounded Corners on Google Map
How to Apply a CSS Transition to the Overflow Property
Are CSS3 ::Before and ::After Pseudo Elements Supported by IE9 or Not
How to Get "Position:Fixed" CSS to Work in IE 7+ with Transitional Doctype
Inverted' Border-Radius Possible
Browser Support for CSS :First-Child and :Last-Child
How Is Padding-Top as a Percentage Related to the Parent's Width
Comma in CSS, Multiple Selectors Using the Same CSS
CSS Double Border with Outer Border Thicker Than Inner Border