我一直在努力让我们的网络地图以一种不错的方式打印出来,几乎是几天。我八天前发布了this question,但后来解决了那里概述的问题。现在我正在处理其他几个我似乎无法弄清楚的问题。
首先,这是我正在尝试打印的页面的链接:http://maps.nps.gov/maps/rich/footstepsofhistory。
我已经尝试了很多不同的组合来尝试处理浏览器差异和过去几天的缺陷,我确信我提出的解决方案远非完美。也就是说,目前部署的解决方案产生了迄今为止我能够产生的最佳结果。
最令人沮丧的部分是我不是在寻找任何复杂的东西。我只想要我的打印样式表(我已经标记了要处理的项目):
70px
高标题。无论打印尺寸有多大,都应调整大小。15px
。以下是剩下的问题:
760px
。我更喜欢使用height:100%;
我这样做是因为它似乎是阻止地图在某些浏览器中溢出到第二页的唯一方法。760px
硬编码高度。然而,在点击一个点之后,地图在某些浏览器中打印出页面高度的约50%。这个我无法解释。浏览器测试:
我已经考虑过强迫Internet Explorer进入IE7模式作为一种解决方法,但似乎我所看到的所有问题都应该是可以解决的,而且在使用X-UA-Compatibile
时,我的口味很差。标签。这也只能解决剩下的两个问题之一。当然有更好的方法!?!?!?
最后,我知道我可以创建页面的PDF,但如果可能,我真的想避免这种情况。
感谢您提供的任何帮助,如果需要,我可以在此处发布更多信息。
答案 0 :(得分:5)
经过几天拉头发后,我能够正常打印,而不必过多地解决问题。
基本上我开始改变我的心态和方法。在我尝试提出适用于所有浏览器的解决方案之前,我决定一次开始关注每个浏览器。我首先创建了一个特定于Internet Explorer的打印样式表,并且仅在用户使用IE加载该站点时才加载它:
<!--[if IE]>
<link rel="stylesheet" type="text/css" media="print" href="/css/rich/footstepsofhistoryprint-ie.css" />
<![endif]-->
<!--[if !IE]><!-->
<link rel="stylesheet" type="text/css" media="print" href="/css/rich/footstepsofhistoryprint.css" />
<!--<![endif]-->
然后我开始致力于让打印工作正常用于Internet Explorer。经过一系列的调整后,我碰巧将以下内容添加到IE打印样式表中:
html,body {margin:0 !important;padding:0 !important;}
这解决了IE 7,8和9的问题。我不知道为什么我必须在我的打印样式表中设置这些样式再次,因为它们已经设置在另一个样式表中已在印刷时应用:
<link rel="stylesheet" type="text/css" media="all" href="/css/rich/footstepsofhistory.css" />
但是由于某种原因,他们显然没有得到正确的应用。
从那里轻而易举。我只需要对非IE打印样式表进行一些小修改,以便在Chrome,Firefox和Safari中运行,然后我就可以了。
快速概述经验教训: