通过CSS将图像更改为文本进行打印?

Bry*_*nny 5 css printing text image header

假设我在要打印的网页上有一个标题横幅.而不是浪费某人的墨水打印整个图像块,有没有办法通过CSS用H1大小的文本替换图像?

Gor*_*ell 10

我通常只是在样式表中添加以下内容:

.nodisplay
{
    display: none;
}

@media print {
    * {
        background-color: white !important;
        background-image: none !important;
    }
    .noprint
    {
        display: none;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后将noprint类分配给不应打印的元素:

<div class="noprint">

</div>
Run Code Online (Sandbox Code Playgroud)

对于您的示例,以下内容应该起作用:

<img src="logo.png" class="noprint" ...>
<h1 class="nodisplay">Text Logo</h1>
Run Code Online (Sandbox Code Playgroud)


Ada*_*ire 7

您可以将h1元素和图像放在源中的相同位置,并将图像CSS display:none用于打印介质,并将其h1设置为display:none用于屏幕媒体.


Tim*_*ght 5

布莱恩,通常在像徽标这样的东西我使用图像替换图形无论如何,因此徽标本身实际上是H1标签.然后在我的打印样式表中.我这样做......

h1#logo a, h1#home-logo{
    text-indent: 0 !important;
    background-image: none !important;
    font-size: 1.2em !important;
    display: block !important;
    height: 1em !important;
    width: 100% !important;
    text-decoration: none !important;
    color: black !important;
}
Run Code Online (Sandbox Code Playgroud)

这将删除图像替换并显示文本.确保您使用单独调用此样式表media="print".