我试图为我们的应用程序制作一个可打印的样式表,但我在@media打印的背景颜色有问题。

    @media print {
      #header{display:none;}
      #adwrapper{display:none;}
      td {
        border-bottom: solid; 
        border-right: solid; 
        background-color: #c0c0c0;
      }
    }

其他一切工作,我可以修改边界和这样,但背景色不会通过打印。我知道,如果没有更多细节,你们可能无法回答我的问题。我只是好奇是否有人有这个问题,或类似的,以前。


当前回答

不要在打印样式表中设置背景颜色。只要在正常的css文件中设置属性,它就可以正常工作:)

签出这个例子:带有页眉和页脚的终极打印HTML模板

演示:带页眉和页脚的终极打印HTML模板演示

其他回答

我只是在打印媒体查询中添加了这个片段,所有的样式都按预期应用:

       * {
        color-adjust: exact!important;  
        -webkit-print-color-adjust: exact!important; 
         print-color-adjust: exact!important;
      }

两个解决方案的工作(至少在现代Chrome -还没有测试超越):

!重要的权利在常规的CSS声明作品(甚至不是在@media打印) 使用svg

不要在打印样式表中设置背景颜色。只要在正常的css文件中设置属性,它就可以正常工作:)

签出这个例子:带有页眉和页脚的终极打印HTML模板

演示:带页眉和页脚的终极打印HTML模板演示

尽管!的重要用法通常不受欢迎,但这是bootstrap.css中令人讨厌的代码,它阻止表行以背景色打印。

.table td,
.table th {
    background-color: #fff !important;
}

让我们假设你正在尝试为下面的HTML设置样式:

<table class="table">
    <tr class="highlighted">
      <td>Name</td>
      <td>School</td>
      <td>Height</td>
      <td>Weight</td>
    </tr>
</table>

要覆盖这个CSS,在你的样式表中放置以下(更具体的)规则:

@media print {
    table tr.highlighted > td {
        background-color: rgba(247, 202, 24, 0.3) !important;
    }
}

这是因为该规则比引导默认值更具体。

tr.group-title {
  padding-top: .5rem;
  border-top: 2rem solid lightgray;
}

tr.group-title > td h5 {
  margin-top: -1.9rem;
}

          <tbody>
            <tr class="group-title">
              <td colspan="6">
                <h5 align="center">{{ group.title }}</h5>
              </td>
            </tr>

工作在Chrome和边缘