在不启用“打印背景颜色和图像”的情况下在IE中打印背景图像

8

在不启用“Internet选项”中的高级选项卡中的“打印背景颜色和图像”的情况下,是否可以打印背景图片?

我认为可以使用另一种方法而不是“background-image”...使用div标签和绝对定位可以模拟与background-image相同的效果吗?此外,我想通过页面重复背景图像。

1个回答

4
在HTML中,将图片指定为背景图像(background-images)的打印功能完全由最终用户控制,无法通过代码进行程序化控制。对于Firefox浏览器,有一个插件提供了JavaScript API以控制许多打印设置 - 这可能能够控制背景图像。但显然,这仅适用于Firefox,并且取决于最终用户是否安装了此特定插件。
可以使用绝对定位的IMG标记并管理分层容器的z-index来将IMG推到后面,但说实话,这变得很混乱,您可能无法实现所需效果并保持正确的语义标记。如果要使IMG重复,则必须使用JavaScript创建和定位多个IMG标记,或者创建一个手动平铺的大型图像 - 不建议这样做。
除非您有特定要求,一般用户通常不希望(或需要)将背景图片打印出来 - 因此浏览器中易于使用的选项。因此,重新考虑问题可能是最好的选择。打印和屏幕是两种非常不同的媒介,因此您不应该试图在打印中模仿屏幕显示,因此CSS具有创建仅适用于打印的样式表的功能 - 如果这是您要实现的内容?

1
我经常使用background-image作为img的替代,因为它简化了HTML(只需一个<a>标签而不是<a><img></a>)并且允许我轻松地在目标元素中居中/裁剪图像 - 这对于使用<img>标签来说非常困难,很可能需要使用<table>来实现垂直居中(而且我对裁剪一无所知)。 - Vilx-
1
@Vilx- 我同意你的观点,但是background-image并不一定是img元素的替代品。img是文档内容的一部分,因此可能需要提供替代内容以便让其可访问,而background-image只是视觉上的装饰,用于美化页面,这对于锚点的背景来说可能已经足够了,前提是它已经有了“内容”。 - MrWhite

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接