我有一个恼人的问题,试图获得一个带有谷歌地图的html页面,以便正确打印,我有一个带有< h2>的谷歌地图在它上面全部包裹在一个div中,div被设置为'page-break-before:always;'在css中,以便地图及其标题始终位于新页面上。
问题是在IE8中我只能看到在打印时在前一页上呈现的地图的大部分,而在前一页上可见的地图部分是在可见边界之外的部分。地图。
HTML:
<div id="description">
<h2>Description</h2>
<p>Some paragraph of text</p>
<p>Some paragraph of text</p>
<p>Some paragraph of text</p>
</div>
<div id="map">
<h2>Location</h2>
<div id="mapHolder"></div>
<script type="text/javascript">
// ... javascript to create the google map
</script>
</div>
CSS:
#map { page-break-before:always; }
这是IE8中渲染内容的屏幕抓取 http://twitpic.com/1vtwrd
它在我尝试过的所有其他浏览器中运行良好,包括IE7,所以我有点迷失,有没有任何想法可以阻止这种情况发生?
答案 0 :(得分:2)
我发现你是否添加了一个具有高度的分页符div。 10px在Map div前面有空的html内容,那么你可以解决问题。
CSS中的:
page_break_before {身高:10px;分页-前:永远; }
然后在Map div前面:
var pageBreakDiv = window.document.createElement('div'); pageBreakDiv.id ='page_break_before'; printingMapDiv.appendChild(pageBreakDiv);
并删除之前的分页符:始终;在你的#map div中。
干杯,
荆