打印网页时缺少背景图像

时间:2012-01-31 06:31:28

标签: javascript printing

我需要一些关于这个主题的帮助:因为我打印的网页打印得很好但不是背景图片,所以我的页面会在某些地方打破。请建议。

此致 何

4 个答案:

答案 0 :(得分:3)

在您的打印样式表中,您应该使用以下内容:

.background {
  display: list-item;
  list-style-image: url(image.gif);
  list-style-position: inside;
}

请注意,您不能以这种方式使用图像精灵和更高级的背景定位,您需要为每张图像执行此操作。

答案 1 :(得分:1)

我刚遇到同样的问题。我的标题背景图片没有在单篇文章上打印,在页面的头部留下了一个大的白色间隙,标题图像通常会显示。因此,为了解决这个问题,我直接在页面上添加了HTML背景图像 - 默认情况下,用户浏览器将打印该页面。以下是如何实现此目标的基本示例:

1,创建一个空白样式表并将其命名为print.css。现在将此样式表添加到页眉,并确保 media =" print" 。我们需要这个来告诉浏览器我们想要哪些元素并且不想打印:

<link rel="stylesheet" href="pathtoyour/css/print.css" type="text/css" media="print" />

2,将要打印的图像添加到页面中并确保其具有 ID ,以便我们可以在print.css和主样式表中对其进行样式设置:

<div id="header">    
<img id="print-image" src="pathtotheimageyouwanttoprint.jpg"/></div>
</div>

3,在主要样式表中,添加图片ID ,这样我们就可以告诉浏览器在正常查看您的网页时停止显示图片:

#print-image {display:none}

4,在您的 print.css 样式表中,因为我们已经告诉您的图片没有显示在您的主样式表中,我们现在需要确保您的图片打印并且不会#39;保持隐藏状态。添加以下内容以实现此目的:

#print-image {display:block;}

你已经完成了。测试和调整样式以适应。

这样做还可以完全自定义页面的打印方式,例如 - 打印时,您现在可以隐藏打印按钮,菜单项等,并且可以按照正常情况编码任何样式。 / p>

希望这有帮助。

答案 2 :(得分:0)

尝试使用David Aragon的Javascript

function replaceSprite(selector){

if ($.browser.msie == true) {
    var back_x = $(selector).css('background-position-x'),
        back_y = $(selector).css('background-position-y'),
        back_position = back_x+" "+back_y;
} else {
    var back_position = $(selector).css('background-position');
}

var back_image = $(selector).css('background-image'),
    width = $(selector).width(),
    height = $(selector).height(),
    index1 = back_image.indexOf('http'),
    index2 = back_image.indexOf('.png');

back_position = back_position.split(" ");
back_image = back_image.substring(index1, (index2+4));

$(selector)
        .append('<img src="'+back_image+'"/>')
    .css('width',width)
    .css('height',height)
    .css('overflow','hidden');

$(selector).find('img')
    .css('margin-left',back_position[0])
    .css('margin-top',back_position[1]);

}

http://quickleft.com/blog/printing-css-sprites

答案 3 :(得分:-1)

这是浏览器中的用户设置。默认情况下,某些浏览器不会打印背景图像。

用户也可以选择打印背景图像,但不能通过代码或标记强制执行此操作。