CSS How to print a table with background color (without Print settings changes)

For webkit browsers (Chrome and Safari):

body{
  -webkit-print-color-adjust:exact;
}

Quote from here: CSS @media print issues with background-color;

IF a user has "Print Background colours and images" turned off in their print settings, no CSS will override that, so always account for that. This is a default setting.

Once that is set so it will print background colours and images, what you have there will work.

It is found in different spots. In IE9beta it's found in Print->Page Options under Paper options

In FireFox it's in Page Setup -> [Format & Options] Tab under Options.