Невозможно печатать цвета фона без ручной настройки в вашем браузере. Тем не менее, это может быть не вариант для некоторых людей. Лучший обходной путь, который я могу найти, довольно не элегантен. Вместо того, чтобы использовать «background-color» (который не печатается), вы должны создать тег div с большой цветной границей на нем. Дело в том, что цветные рамки могут печататься правильно. Затем, где отображается выделенный цвет, поместите еще один тег div с текстом сверху. Не элегантный, но работает.
Лучше установить и текстовый div, и div подсветки в третьем div для удобного размещения. внутренние div должны быть в позиции "absolute", а внешние div должны иметь позицию "относительные". Этот пример кода протестирован как в Firefox, так и в Chrome:
<style type="text/css">
#outer_box {
position: relative;
border: 2px solid black;
width: 500px;
height:300px;
}
#yellow_highlight {
position: absolute;
width: 0px;
height: 30px;
border-left: 300px;
border-color: yellow;
border-style: solid;
top: 0;
left: 0px
}
#message_text {
position: absolute;
top: 0;
left: 0px;
}
</style>
<body>
<div id="outer_box">
<div id="yellow_highlight"> </div>
<div id="message_text">hello, world!</div>
</div>
</body>