具有条件格式的打印表单元格背景色

时间:2019-01-28 13:11:19

标签: javascript php html

我已经使用HTML和PHP创建了一个表,该表从数据库中读取数据。表格的每个单元格显示不同的值,例如1,2,3,并根据该值更改单元格的颜色。 到目前为止,我已经做到了,并使用以下JavaScript进行单元格的条件格式设置:

脚本:

<script type="text/javascript">
$(function() {
$('#table1 td').each(function() {
  if ($(this).text() == '1') {
   $(this).css('background-color', 'red');
 }
  if ($(this).text() == '2') {
   $(this).css('background-color', 'yellow');
 }
  if ($(this).text() == '3')  {
   $(this).css('background-color', 'green');
 }
  });
});

</script>

现在我要使用打印Div打印表格。打印选项也可以正常工作,但是没有与单元相关的颜色,所有颜色都是黑色和白色。我进行了很多搜索,但到目前为止找不到任何解决方案。我真的需要您的帮助,我们将不胜感激任何建议或代码。

3 个答案:

答案 0 :(得分:0)

尝试设置color-adjust: exact;(带有chrome的前缀)-Browser support for color-adjust

答案 1 :(得分:0)

默认情况下,brosers不打印背景色,尝试添加 <style type="text/css"> @media print { body { color-adjust: exact; } } </style>

此外,在Chrome的“打印”对话框窗口中,“更多设置”下有一个复选框,也可以打印BG颜色。请参见图片:

enter image description here

答案 2 :(得分:0)

@media print{

background-color: green;

//do the same for each other styles you need to print

}