Web/CSS/-webkit-print-color-adjust

From Get docs

Non-standard This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.


The -webkit-print-color-adjust property is a non-standard CSS extension that can be used to force printing of background colors and images in browsers based on the WebKit engine.

/* Keyword values */
-webkit-print-color-adjust: economy;
-webkit-print-color-adjust: exact;

/* Global values */
-webkit-print-color-adjust: inherit;
-webkit-print-color-adjust: initial;
-webkit-print-color-adjust: unset;

Syntax

The -webkit-print-color-adjust property is specified as one of the keyword values listed below.

Values

economy
Normal behavior.  Background colors and images are only printed if the user explicitly allows it in their browser's print settings dialog.
exact
Background colors and images of the element to which this rule is applied are always printed, user's print settings are overridden.

Formal definition

Value not found in DB!

Formal syntax

Syntax not found in DB!

Examples

Forcing white-on-black printing

article {
  -webkit-print-color-adjust: exact;
  background: #222;
  color: #eee;
}

Specifications

Not part of any standard, though there is a proposal in the CSSWG wiki to standardize it.

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet

-webkit-print-color-adjust

Non-standard'

Chrome Full support 17

Notes'

Full support 17

Notes'

Notes' Chrome does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants. Notes' Before Chrome 26, if background images are clipped (for example, when using background-image sprites) and -webkit-print-color-adjust is set to exact, then backgrounds will appear distorted when printed. Solid backgrounds and background images that are not clipped (i.e., backgrounds that have narrower and shorter than the element to which they are applied) are printed correctly. See Chromium bug 131054.

Edge Full support 79

Notes'

Full support 79

Notes'

Notes' Edge does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.

Firefox

No support No

IE

No support No

Opera Full support 15

Notes'

Full support 15

Notes'

Notes' Opera does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.

Safari Full support 6

Notes'

Full support 6

Notes'

Notes' Safari does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.

WebView Android Full support 37

Notes'

Full support 37

Notes'

Notes' WebView does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.

Chrome Android Full support 18

Notes'

Full support 18

Notes'

Notes' Chrome does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants. Notes' Before Chrome 26, if background images are clipped (for example, when using background-image sprites) and -webkit-print-color-adjust is set to exact, then backgrounds will appear distorted when printed. Solid backgrounds and background images that are not clipped (i.e., backgrounds that have narrower and shorter than the element to which they are applied) are printed correctly. See Chromium bug 131054.

Firefox Android

No support No

Opera Android Full support 15

Notes'

Full support 15

Notes'

Notes' Opera does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.

Safari iOS Full support 6

Notes'

Full support 6

Notes'

Notes' Safari does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants.

Samsung Internet Android Full support 1.0

Notes'

Full support 1.0

Notes'

Notes' Samsung Internet does not print backgrounds of the <body> element. If this property is set to exact for the <body> element, it will apply only to its descendants. Notes' Before Chrome 26, if background images are clipped (for example, when using background-image sprites) and -webkit-print-color-adjust is set to exact, then backgrounds will appear distorted when printed. Solid backgrounds and background images that are not clipped (i.e., backgrounds that have narrower and shorter than the element to which they are applied) are printed correctly. See Chromium bug 131054.

Legend

Full support  
Full support
No support  
No support
Non-standard. Expect poor cross-browser support.'
Non-standard. Expect poor cross-browser support.
See implementation notes.'
See implementation notes.


See also

  • WebKit bug 64583: "WIP: Add CSS property to control printing of backgrounds for individual elements"
  • CSSWG wiki: print-backgrounds - a proposal to standardize this property
  • CSS Color Module Level 4:  the color-adjust property - a newer proposal to standardize this property