Html 灰色字体彩色印刷

Html 灰色字体彩色印刷,html,printing,fonts,colors,cross-browser,Html,Printing,Fonts,Colors,Cross Browser,有没有办法确保我的灰色字体颜色不会变黑 Firefox和Chrome这样做似乎是为了防止黑色背景上的白色文本变成白色。我没有背景色(白色除外),因此这种浏览器级别的转换没有用处,它只会帮助防止无故出现灰色 有没有办法关掉这个?或者我应该坚持使用不透明、浏览器检测和灰色着色等技术吗?如果添加颜色,一些浏览器会更尊重您的灰色:将#777替换为#778。小心不透明。有时,即使打印预览会显示很好的结果,它实际上也只能在选定的打印机上工作。如果您的文本为灰色,则固件不吉利的打印机将无法打印您的文本。我发现

有没有办法确保我的灰色字体颜色不会变黑

Firefox和Chrome这样做似乎是为了防止黑色背景上的白色文本变成白色。我没有背景色(白色除外),因此这种浏览器级别的转换没有用处,它只会帮助防止无故出现灰色


有没有办法关掉这个?或者我应该坚持使用不透明、浏览器检测和灰色着色等技术吗?

如果添加颜色,一些浏览器会更尊重您的灰色:将
#777
替换为
#778
。小心不透明。有时,即使打印预览会显示很好的结果,它实际上也只能在选定的打印机上工作。如果您的文本为灰色,则固件不吉利的打印机将无法打印您的文本。

我发现必须:

  • 添加
    !css规则的重要信息
    和…

  • 在Firefox打印对话框中,勾选“外观:打印背景色”选项


  • 我无法让它在Chrome中工作。

    解决方案:

      @media print {
          h1 {
            color: rgba(0, 0, 0, 0);
            text-shadow: 0 0 0 #ccc;
          }
    
          @media print and (-webkit-min-device-pixel-ratio:0) {
            h1 {
              color: #ccc;
              -webkit-print-color-adjust: exact;
            }
          }
       }
    

    我发现,文本颜色不是由“通用”样式表继承的,但必须在打印css文件中再次强制

    换句话说,即使在常规css文件(带有
    media='all'
    属性的文件)中设置了文本颜色,在打印时也会被忽略,至少在Firefox和Chrome中是这样


    我发现在打印css文件(带有
    media='print'
    属性的文件)中再次写入(冗余但…必要)文本颜色时,将考虑现在的颜色。

    您只需要在svg中输出灰色字体。浏览器不会在svg中更改颜色。下面是一个例子:

    <svg height="40" width="200">
       <text font-size="28px" y="25" x="30" fill="#ffffff" >
       Some text
       </text>
    </svg>
    
    
    一些文本
    
    上面的内容对我来说都不管用,所以我最终找到了答案

    始终为直接元素提供颜色。假设你的html是

    <div class='div'><br/>
          < h1>Text< /h1><br/>
    </div>
    
    这是我的案子。在这种情况下,无论你做什么,颜色都不会显示出来

    你必须这样做

    .div h1 { 
     color: #ccc; 
    }
    
    @media print { 
     .div h1 { 
        -webkit-print-color-adjust: exact; 
       } 
    }
    
    希望这对你有帮助


    如果您找到更好的解决方案,请回复,因为这是我在2小时后可以找到的解决方案,它对我有效。

    此解决方案适用于所有浏览器:

    .text{
    颜色:透明;
    文本阴影:2px0#红色;
    
    }

    重视颜色:

    .bgcol{
    background-color:skyblue !important;
    }
     .subject_content,h2,p{
     color:rgba(255, 255, 255) !important;
        margin: 25px auto;
    
    }
    <body class="bgcol">
           <div class="subject_content">
          <h2 class='text-center'>fhddfhnt area</h2>
          <p>sdgdfghdfhdfh.</p>
         </div>
    
    .bgcol{
    背景色:天蓝色!重要;
    }
    .主题内容,h2,p{
    颜色:rgba(255,255,255)!重要;
    保证金:25像素自动;
    }
    FHDFHNT区域
    sdgdfghdfhdfh


    我以为那是那页上唯一的div。进行以下更改,它应该可以正常工作

    <style>
    @media print {
    div.red {
          color: #cccccc !important;
      }
    </style>
    
    
    @媒体印刷品{
    红色分区{
    颜色:#中交!重要;
    }
    

    更改div标签的html,如下图所示

    您是否使用打印样式表?我一直认为黑色是强制的,因为空白墨水打印速度更快,而且比打印灰色便宜,因为这需要使用彩色墨水。不透明听起来是一种很好的技术-如果所有其他方法都失败,我会求助于它或PDF。@George fair-but别忘了,你可以使用带有“打印”按钮的
    iframe
    内嵌PDF。(以防万一你需要回到这里)软件将灰色文本转换为黑色的原因是黑色激光打印机需要光栅灰色。光栅图案结果(尤其是在低分辨率打印机中)当打印全黑时,不需要光栅和原始字形矢量路径。当你创建打印样式表时,考虑场景和打印机功能是明智的。喷墨打印机抖动文本。混合颜色。他们有更多的“蜱”来获得正确的外观。e、 我所处的情况是,这种不透明度回退非常适合我。我只想在颜色不变的情况下显示某些内容,所以我更改了可以隐藏或用不透明度变灰的内容。:)对不起,不太准确。即使没有执行选项1,选项2也可以工作。@GeorgeBailey,这不是我在OSX上的FireFox v24中看到的本页内容:如果我删除了“!important”规则,则奖杯将全部打印为黑色(奖杯仅为fontawesome中的字符)。在我的Firefox中,如果您转到文件->页面设置,并选中“打印背景颜色和图像”框,然后您的奖杯打印为灰色。我在Windows 7上使用Firefox 24。它很有效!您是个天才!在IE11、Chrome和Firefox中测试过。请确保您不要尝试使用“透明”而不是“rgba(0,0,0,0)”因为它不会与IE一起工作。我现在在Chrome中工作,但在FF中不工作。我想知道为什么我不能让它工作。一个示例页面会很有趣。
    <style>
    @media print {
    div.red {
          color: #cccccc !important;
      }
    </style>